test_class.declarator: LOG = LoggerFactory.getLogger(DocumentNodeStoreTest.class)
test_class.modifier: private static final
test_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(DocumentNodeStoreTest.class);
test_class.type: Logger
test_class.var_name: LOG
test_class.declarator: builderProvider = new DocumentMKBuilderProvider()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public DocumentMKBuilderProvider builderProvider = new DocumentMKBuilderProvider();
test_class.type: DocumentMKBuilderProvider
test_class.var_name: builderProvider
test_class.declarator: FAILING_HOOK = new CommitHook() {
          @NotNull
          @Override
          public NodeState processCommit(NodeState before,
                                         NodeState after,
                                         CommitInfo info)
                  throws CommitFailedException {
              throw new CommitFailedException(CONSTRAINT, 0, "fail");
          }
      }
test_class.modifier: private static final
test_class.original_string: private static final CommitHook FAILING_HOOK = new CommitHook() {
          @NotNull
          @Override
          public NodeState processCommit(NodeState before,
                                         NodeState after,
                                         CommitInfo info)
                  throws CommitFailedException {
              throw new CommitFailedException(CONSTRAINT, 0, "fail");
          }
      };
test_class.type: CommitHook
test_class.var_name: FAILING_HOOK
test_class.file: oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
test_class.identifier: DocumentNodeStoreTest
test_case.body: @Test
      public void dispose() throws CommitFailedException, InterruptedException {
          final BlockingQueue<String> updates = new ArrayBlockingQueue<String>(1);
          // when disposing of the DocumentNodeStore instances the updates queue
          // becomes full due to the pending operations being flushed.
          // This flag ensures that after the main test is completed all
          // updates are processed without being blocked
          final AtomicBoolean throttleUpdates = new AtomicBoolean(true);
          MemoryDocumentStore docStore = new MemoryDocumentStore() {
              @Override
              public <T extends Document> T createOrUpdate(Collection<T> collection,
                                                           UpdateOp update) {
                  if (throttleUpdates.get() && TestUtils.isLastRevUpdate(update)) {
                      try {
                          updates.put(update.getId());
                      } catch (InterruptedException e) {
                          throw new RuntimeException(e);
                      }
                  }
                  return super.createOrUpdate(collection, update);
              }
          };
          final DocumentNodeStore store = builderProvider.newBuilder()
                  .setClusterId(1).setAsyncDelay(0)
                  .setDocumentStore(docStore).getNodeStore();
          updates.clear();
  
          NodeBuilder builder = store.getRoot().builder();
          builder.child("test").child("node");
          merge(store, builder);
  
          builder = store.getRoot().builder();
          builder.child("test").child("node").child("child-1");
          merge(store, builder);
  
          Thread t = new Thread(new Runnable() {
              @Override
              public void run() {
                  store.dispose();
              }
          });
          t.start();
  
          String p = updates.take();
          assertEquals("2:/test/node", p);
          // background ops in dispose is still in progress
          assertTrue(t.isAlive());
          // wait until next update comes in
          for (;;) {
              if (updates.peek() != null) {
                  break;
              }
          }
  
          // add child-2 while dispose is in progress
          try {
              builder = store.getRoot().builder();
              builder.child("test").child("node").child("child-2");
              merge(store, builder);
              fail("Merge must fail with CommitFailedException");
          } catch (CommitFailedException e) {
              // expected
          }
  
          // drain updates until dispose finished
          while (t.isAlive()) {
              updates.poll(10, TimeUnit.MILLISECONDS);
          }
          updates.clear();
          throttleUpdates.set(false);
  
          // start new store with clusterId 2
          DocumentNodeStore store2 = builderProvider.newBuilder()
                  .setClusterId(2).setAsyncDelay(0)
                  .setDocumentStore(docStore).getNodeStore();
  
          // perform recovery if needed
          LastRevRecoveryAgent agent = new LastRevRecoveryAgent(docStore, store2);
          if (agent.isRecoveryNeeded()) {
              agent.recover(1);
          }
  
          builder = store2.getRoot().builder();
          NodeBuilder test = builder.getChildNode("test");
          assertTrue(test.exists());
          NodeBuilder node = test.getChildNode("node");
          assertTrue(node.exists());
          if (!node.hasChildNode("child-2")) {
              node.child("child-2");
              merge(store2, builder);
          }
      }
test_case.class_method_signature: DocumentNodeStoreTest.dispose()
test_case.full_signature: @Test public void dispose()
test_case.identifier: dispose
test_case.invocations: get isLastRevUpdate put getId createOrUpdate getNodeStore setDocumentStore setAsyncDelay setClusterId newBuilder clear builder getRoot child child merge builder getRoot child child child merge dispose start take assertEquals assertTrue isAlive peek builder getRoot child child child merge fail isAlive poll clear set getNodeStore setDocumentStore setAsyncDelay setClusterId newBuilder isRecoveryNeeded recover builder getRoot getChildNode assertTrue exists getChildNode assertTrue exists hasChildNode child merge
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void dispose()
focal_class.declarator: LOG = LoggerFactory.getLogger(DocumentNodeStore.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(DocumentNodeStore.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: PERFLOG = new PerfLogger(
              LoggerFactory.getLogger(DocumentNodeStore.class.getName() + ".perf"))
focal_class.modifier: private static final
focal_class.original_string: private static final PerfLogger PERFLOG = new PerfLogger(
              LoggerFactory.getLogger(DocumentNodeStore.class.getName() + ".perf"));
focal_class.type: PerfLogger
focal_class.var_name: PERFLOG
focal_class.declarator: ONE_MINUTE_MS = TimeUnit.MINUTES.toMillis(1)
focal_class.modifier: private static final
focal_class.original_string: private static final long ONE_MINUTE_MS = TimeUnit.MINUTES.toMillis(1);
focal_class.type: long
focal_class.var_name: ONE_MINUTE_MS
focal_class.declarator: VERSION = FormatVersion.V1_8
focal_class.modifier: public static final
focal_class.original_string: public static final FormatVersion VERSION = FormatVersion.V1_8;
focal_class.type: FormatVersion
focal_class.var_name: VERSION
focal_class.declarator: META_PROP_NAMES = ImmutableList.of(
              DocumentBundlor.META_PROP_PATTERN,
              DocumentBundlor.META_PROP_BUNDLING_PATH,
              DocumentBundlor.META_PROP_NON_BUNDLED_CHILD,
              DocumentBundlor.META_PROP_BUNDLED_CHILD
      )
focal_class.modifier: public static final
focal_class.original_string: public static final List<String> META_PROP_NAMES = ImmutableList.of(
              DocumentBundlor.META_PROP_PATTERN,
              DocumentBundlor.META_PROP_BUNDLING_PATH,
              DocumentBundlor.META_PROP_NON_BUNDLED_CHILD,
              DocumentBundlor.META_PROP_BUNDLED_CHILD
      );
focal_class.type: List<String>
focal_class.var_name: META_PROP_NAMES
focal_class.declarator: FAST_DIFF = SystemPropertySupplier.create("oak.documentMK.fastDiff", Boolean.TRUE).loggingTo(LOG)
              .get()
focal_class.modifier: private static final
focal_class.original_string: private static final boolean FAST_DIFF = SystemPropertySupplier.create("oak.documentMK.fastDiff", Boolean.TRUE).loggingTo(LOG)
              .get();
focal_class.type: boolean
focal_class.var_name: FAST_DIFF
focal_class.declarator: enableConcurrentAddRemove = SystemPropertySupplier.create("oak.enableConcurrentAddRemove", Boolean.FALSE)
              .loggingTo(LOG).get()
focal_class.modifier: private
focal_class.original_string: private boolean enableConcurrentAddRemove = SystemPropertySupplier.create("oak.enableConcurrentAddRemove", Boolean.FALSE)
              .loggingTo(LOG).get();
focal_class.type: boolean
focal_class.var_name: enableConcurrentAddRemove
focal_class.declarator: fairBackgroundOperationLock = SystemPropertySupplier.create("oak.fairBackgroundOperationLock", Boolean.TRUE)
              .loggingTo(LOG).get()
focal_class.modifier: private
focal_class.original_string: private boolean fairBackgroundOperationLock = SystemPropertySupplier.create("oak.fairBackgroundOperationLock", Boolean.TRUE)
              .loggingTo(LOG).get();
focal_class.type: boolean
focal_class.var_name: fairBackgroundOperationLock
focal_class.declarator: SYS_PROP_DISABLE_JOURNAL = "oak.disableJournalDiff"
focal_class.modifier: public static final
focal_class.original_string: public static final String SYS_PROP_DISABLE_JOURNAL = "oak.disableJournalDiff";
focal_class.type: String
focal_class.var_name: SYS_PROP_DISABLE_JOURNAL
focal_class.declarator: disableJournalDiff = SystemPropertySupplier.create(SYS_PROP_DISABLE_JOURNAL, Boolean.FALSE).loggingTo(LOG)
              .get()
focal_class.modifier: private
focal_class.original_string: private boolean disableJournalDiff = SystemPropertySupplier.create(SYS_PROP_DISABLE_JOURNAL, Boolean.FALSE).loggingTo(LOG)
              .get();
focal_class.type: boolean
focal_class.var_name: disableJournalDiff
focal_class.declarator: journalPushThreshold = SystemPropertySupplier.create("oak.journalPushThreshold", 100000).loggingTo(LOG).get()
focal_class.modifier: private
focal_class.original_string: private int journalPushThreshold = SystemPropertySupplier.create("oak.journalPushThreshold", 100000).loggingTo(LOG).get();
focal_class.type: int
focal_class.var_name: journalPushThreshold
focal_class.declarator: collisionGarbageBatchSize = SystemPropertySupplier.create("oak.documentMK.collisionGarbageBatchSize", 1000)
              .loggingTo(LOG).get()
focal_class.modifier: private
focal_class.original_string: private int collisionGarbageBatchSize = SystemPropertySupplier.create("oak.documentMK.collisionGarbageBatchSize", 1000)
              .loggingTo(LOG).get();
focal_class.type: int
focal_class.var_name: collisionGarbageBatchSize
focal_class.declarator: createOrUpdateBatchSize = SystemPropertySupplier.create("oak.documentMK.createOrUpdateBatchSize", 1000)
              .loggingTo(LOG).get()
focal_class.modifier: private final
focal_class.original_string: private final int createOrUpdateBatchSize = SystemPropertySupplier.create("oak.documentMK.createOrUpdateBatchSize", 1000)
              .loggingTo(LOG).get();
focal_class.type: int
focal_class.var_name: createOrUpdateBatchSize
focal_class.declarator: nonLeaseCheckingStore
focal_class.modifier: private final
focal_class.original_string: private final DocumentStore nonLeaseCheckingStore;
focal_class.type: DocumentStore
focal_class.var_name: nonLeaseCheckingStore
focal_class.declarator: store
focal_class.modifier: private final
focal_class.original_string: private final DocumentStore store;
focal_class.type: DocumentStore
focal_class.var_name: store
focal_class.declarator: missing
focal_class.modifier: private final
focal_class.original_string: private final DocumentNodeState missing;
focal_class.type: DocumentNodeState
focal_class.var_name: missing
focal_class.declarator: commitQueue
focal_class.modifier: protected final
focal_class.original_string: protected final CommitQueue commitQueue;
focal_class.type: CommitQueue
focal_class.var_name: commitQueue
focal_class.declarator: batchCommitQueue
focal_class.modifier: private final
focal_class.original_string: private final BatchCommitQueue batchCommitQueue;
focal_class.type: BatchCommitQueue
focal_class.var_name: batchCommitQueue
focal_class.declarator: dispatcher
focal_class.modifier: private final
focal_class.original_string: private final ChangeDispatcher dispatcher;
focal_class.type: ChangeDispatcher
focal_class.var_name: dispatcher
focal_class.declarator: asyncDelay = 1000
focal_class.modifier: private
focal_class.original_string: private int asyncDelay = 1000;
focal_class.type: int
focal_class.var_name: asyncDelay
focal_class.declarator: maxBackOffMillis = SystemPropertySupplier.create("oak.maxBackOffMS", asyncDelay * 2).loggingTo(LOG).get()
focal_class.modifier: private
focal_class.original_string: private int maxBackOffMillis = SystemPropertySupplier.create("oak.maxBackOffMS", asyncDelay * 2).loggingTo(LOG).get();
focal_class.type: int
focal_class.var_name: maxBackOffMillis
focal_class.declarator: changeSetMaxItems = SystemPropertySupplier.create("oak.document.changeSet.maxItems", 50).loggingTo(LOG).get()
focal_class.modifier: private
focal_class.original_string: private int changeSetMaxItems = SystemPropertySupplier.create("oak.document.changeSet.maxItems", 50).loggingTo(LOG).get();
focal_class.type: int
focal_class.var_name: changeSetMaxItems
focal_class.declarator: changeSetMaxDepth = SystemPropertySupplier.create("oak.document.changeSet.maxDepth", 9).loggingTo(LOG).get()
focal_class.modifier: private
focal_class.original_string: private int changeSetMaxDepth = SystemPropertySupplier.create("oak.document.changeSet.maxDepth", 9).loggingTo(LOG).get();
focal_class.type: int
focal_class.var_name: changeSetMaxDepth
focal_class.declarator: isDisposed = new AtomicBoolean()
focal_class.modifier: private final
focal_class.original_string: private final AtomicBoolean isDisposed = new AtomicBoolean();
focal_class.type: AtomicBoolean
focal_class.var_name: isDisposed
focal_class.declarator: stopLeaseUpdateThread = new AtomicBoolean()
focal_class.modifier: private final
focal_class.original_string: private final AtomicBoolean stopLeaseUpdateThread = new AtomicBoolean();
focal_class.type: AtomicBoolean
focal_class.var_name: stopLeaseUpdateThread
focal_class.declarator: clusterNodeInfo
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final ClusterNodeInfo clusterNodeInfo;
focal_class.type: ClusterNodeInfo
focal_class.var_name: clusterNodeInfo
focal_class.declarator: clusterId
focal_class.modifier: private final
focal_class.original_string: private final int clusterId;
focal_class.type: int
focal_class.var_name: clusterId
focal_class.declarator: clusterNodes
              = Maps.newConcurrentMap()
focal_class.modifier: private final
focal_class.original_string: private final ConcurrentMap<Integer, ClusterNodeInfoDocument> clusterNodes
              = Maps.newConcurrentMap();
focal_class.type: ConcurrentMap<Integer, ClusterNodeInfoDocument>
focal_class.var_name: clusterNodes
focal_class.declarator: branches
focal_class.modifier: private final
focal_class.original_string: private final UnmergedBranches branches;
focal_class.type: UnmergedBranches
focal_class.var_name: branches
focal_class.declarator: unsavedLastRevisions = new UnsavedModifications()
focal_class.modifier: private final
focal_class.original_string: private final UnsavedModifications unsavedLastRevisions = new UnsavedModifications();
focal_class.type: UnsavedModifications
focal_class.var_name: unsavedLastRevisions
focal_class.declarator: splitCandidates = Maps.newConcurrentMap()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, String> splitCandidates = Maps.newConcurrentMap();
focal_class.type: Map<String, String>
focal_class.var_name: splitCandidates
focal_class.declarator: changes
focal_class.modifier: private
focal_class.original_string: private JournalEntry changes;
focal_class.type: JournalEntry
focal_class.var_name: changes
focal_class.declarator: root
focal_class.modifier: private volatile
focal_class.original_string: private volatile DocumentNodeState root;
focal_class.type: DocumentNodeState
focal_class.var_name: root
focal_class.declarator: backgroundReadThread
focal_class.modifier: private
focal_class.original_string: private Thread backgroundReadThread;
focal_class.type: Thread
focal_class.var_name: backgroundReadThread
focal_class.declarator: backgroundReadMonitor = new Object()
focal_class.modifier: private final
focal_class.original_string: private final Object backgroundReadMonitor = new Object();
focal_class.type: Object
focal_class.var_name: backgroundReadMonitor
focal_class.declarator: backgroundUpdateThread
focal_class.modifier: private
focal_class.original_string: private Thread backgroundUpdateThread;
focal_class.type: Thread
focal_class.var_name: backgroundUpdateThread
focal_class.declarator: backgroundWriteMonitor = new Object()
focal_class.modifier: private final
focal_class.original_string: private final Object backgroundWriteMonitor = new Object();
focal_class.type: Object
focal_class.var_name: backgroundWriteMonitor
focal_class.declarator: leaseUpdateThread
focal_class.modifier: @NotNull
      private
focal_class.original_string: @NotNull
      private Thread leaseUpdateThread;
focal_class.type: Thread
focal_class.var_name: leaseUpdateThread
focal_class.declarator: clusterUpdateThread
focal_class.modifier: @NotNull
      private
focal_class.original_string: @NotNull
      private Thread clusterUpdateThread;
focal_class.type: Thread
focal_class.var_name: clusterUpdateThread
focal_class.declarator: backgroundSweepMonitor = new Object()
focal_class.modifier: private final
focal_class.original_string: private final Object backgroundSweepMonitor = new Object();
focal_class.type: Object
focal_class.var_name: backgroundSweepMonitor
focal_class.declarator: backgroundSweepThread
focal_class.modifier: private
focal_class.original_string: private Thread backgroundSweepThread;
focal_class.type: Thread
focal_class.var_name: backgroundSweepThread
focal_class.declarator: sweepRevisions = new RevisionVector()
focal_class.modifier: private
focal_class.original_string: private RevisionVector sweepRevisions = new RevisionVector();
focal_class.type: RevisionVector
focal_class.var_name: sweepRevisions
focal_class.declarator: backgroundOperationLock =
              new ReentrantReadWriteLock(fairBackgroundOperationLock)
focal_class.modifier: private final
focal_class.original_string: private final ReadWriteLock backgroundOperationLock =
              new ReentrantReadWriteLock(fairBackgroundOperationLock);
focal_class.type: ReadWriteLock
focal_class.var_name: backgroundOperationLock
focal_class.declarator: mergeLock = new ReentrantReadWriteLock()
focal_class.modifier: private final
focal_class.original_string: private final ReadWriteLock mergeLock = new ReentrantReadWriteLock();
focal_class.type: ReadWriteLock
focal_class.var_name: mergeLock
focal_class.declarator: simpleRevisionCounter
focal_class.modifier: private
focal_class.original_string: private AtomicInteger simpleRevisionCounter;
focal_class.type: AtomicInteger
focal_class.var_name: simpleRevisionCounter
focal_class.declarator: nodeCache
focal_class.modifier: private final
focal_class.original_string: private final Cache<PathRev, DocumentNodeState> nodeCache;
focal_class.type: Cache<PathRev, DocumentNodeState>
focal_class.var_name: nodeCache
focal_class.declarator: nodeCacheStats
focal_class.modifier: private final
focal_class.original_string: private final CacheStats nodeCacheStats;
focal_class.type: CacheStats
focal_class.var_name: nodeCacheStats
focal_class.declarator: nodeChildrenCache
focal_class.modifier: private final
focal_class.original_string: private final Cache<NamePathRev, DocumentNodeState.Children> nodeChildrenCache;
focal_class.type: Cache<NamePathRev, DocumentNodeState.Children>
focal_class.var_name: nodeChildrenCache
focal_class.declarator: nodeChildrenCacheStats
focal_class.modifier: private final
focal_class.original_string: private final CacheStats nodeChildrenCacheStats;
focal_class.type: CacheStats
focal_class.var_name: nodeChildrenCacheStats
focal_class.declarator: diffCache
focal_class.modifier: private final
focal_class.original_string: private final DiffCache diffCache;
focal_class.type: DiffCache
focal_class.var_name: diffCache
focal_class.declarator: commitValueResolver
focal_class.modifier: private final
focal_class.original_string: private final CommitValueResolver commitValueResolver;
focal_class.type: CommitValueResolver
focal_class.var_name: commitValueResolver
focal_class.declarator: blobStore
focal_class.modifier: private final
focal_class.original_string: private final BlobStore blobStore;
focal_class.type: BlobStore
focal_class.var_name: blobStore
focal_class.declarator: clusterStateChangeListener
focal_class.modifier: private
focal_class.original_string: private ClusterStateChangeListener clusterStateChangeListener;
focal_class.type: ClusterStateChangeListener
focal_class.var_name: clusterStateChangeListener
focal_class.declarator: blobSerializer = new BlobSerializer() {
          @Override
          public String serialize(Blob blob) {
  
              if (blob instanceof BlobStoreBlob) {
                  BlobStoreBlob bsb = (BlobStoreBlob) blob;
                  BlobStore bsbBlobStore = bsb.getBlobStore();
                  //see if the blob has been created from another store
                  if (bsbBlobStore != null && bsbBlobStore.equals(blobStore)) {
                      return bsb.getBlobId();
                  }
              }
  
              String id;
  
              String reference = blob.getReference();
              if(reference != null){
                  id = blobStore.getBlobId(reference);
                  if(id != null){
                      return id;
                  }
              }
  
              try {
                  id = createBlob(blob.getNewStream()).getBlobId();
              } catch (IOException e) {
                  throw new IllegalStateException(e);
              }
              return id;
          }
      }
focal_class.modifier: private final
focal_class.original_string: private final BlobSerializer blobSerializer = new BlobSerializer() {
          @Override
          public String serialize(Blob blob) {
  
              if (blob instanceof BlobStoreBlob) {
                  BlobStoreBlob bsb = (BlobStoreBlob) blob;
                  BlobStore bsbBlobStore = bsb.getBlobStore();
                  //see if the blob has been created from another store
                  if (bsbBlobStore != null && bsbBlobStore.equals(blobStore)) {
                      return bsb.getBlobId();
                  }
              }
  
              String id;
  
              String reference = blob.getReference();
              if(reference != null){
                  id = blobStore.getBlobId(reference);
                  if(id != null){
                      return id;
                  }
              }
  
              try {
                  id = createBlob(blob.getNewStream()).getBlobId();
              } catch (IOException e) {
                  throw new IllegalStateException(e);
              }
              return id;
          }
      };
focal_class.type: BlobSerializer
focal_class.var_name: blobSerializer
focal_class.declarator: binarySize = new Function<String, Long>() {
          @Override
          public Long apply(@Nullable String input) {
              return getBinarySize(input);
          }
      }
focal_class.modifier: private final
focal_class.original_string: private final Function<String, Long> binarySize = new Function<String, Long>() {
          @Override
          public Long apply(@Nullable String input) {
              return getBinarySize(input);
          }
      };
focal_class.type: Function<String, Long>
focal_class.var_name: binarySize
focal_class.declarator: clock
focal_class.modifier: private final
focal_class.original_string: private final Clock clock;
focal_class.type: Clock
focal_class.var_name: clock
focal_class.declarator: checkpoints
focal_class.modifier: private final
focal_class.original_string: private final Checkpoints checkpoints;
focal_class.type: Checkpoints
focal_class.var_name: checkpoints
focal_class.declarator: versionGarbageCollector
focal_class.modifier: private final
focal_class.original_string: private final VersionGarbageCollector versionGarbageCollector;
focal_class.type: VersionGarbageCollector
focal_class.var_name: versionGarbageCollector
focal_class.declarator: journalGarbageCollector
focal_class.modifier: private final
focal_class.original_string: private final JournalGarbageCollector journalGarbageCollector;
focal_class.type: JournalGarbageCollector
focal_class.var_name: journalGarbageCollector
focal_class.declarator: referencedBlobs
focal_class.modifier: private final
focal_class.original_string: private final Iterable<ReferencedBlob> referencedBlobs;
focal_class.type: Iterable<ReferencedBlob>
focal_class.var_name: referencedBlobs
focal_class.declarator: executor
focal_class.modifier: private final
focal_class.original_string: private final Executor executor;
focal_class.type: Executor
focal_class.var_name: executor
focal_class.declarator: lastRevSeeker
focal_class.modifier: private final
focal_class.original_string: private final MissingLastRevSeeker lastRevSeeker;
focal_class.type: MissingLastRevSeeker
focal_class.var_name: lastRevSeeker
focal_class.declarator: lastRevRecoveryAgent
focal_class.modifier: private final
focal_class.original_string: private final LastRevRecoveryAgent lastRevRecoveryAgent;
focal_class.type: LastRevRecoveryAgent
focal_class.var_name: lastRevRecoveryAgent
focal_class.declarator: disableBranches
focal_class.modifier: private final
focal_class.original_string: private final boolean disableBranches;
focal_class.type: boolean
focal_class.var_name: disableBranches
focal_class.declarator: persistentCache
focal_class.modifier: private
focal_class.original_string: private PersistentCache persistentCache;
focal_class.type: PersistentCache
focal_class.var_name: persistentCache
focal_class.declarator: journalCache
focal_class.modifier: private
focal_class.original_string: private PersistentCache journalCache;
focal_class.type: PersistentCache
focal_class.var_name: journalCache
focal_class.declarator: mbean
focal_class.modifier: private final
focal_class.original_string: private final DocumentNodeStoreMBean mbean;
focal_class.type: DocumentNodeStoreMBean
focal_class.var_name: mbean
focal_class.declarator: readOnlyMode
focal_class.modifier: private final
focal_class.original_string: private final boolean readOnlyMode;
focal_class.type: boolean
focal_class.var_name: readOnlyMode
focal_class.declarator: nodeStateCache = DocumentNodeStateCache.NOOP
focal_class.modifier: private
focal_class.original_string: private DocumentNodeStateCache nodeStateCache = DocumentNodeStateCache.NOOP;
focal_class.type: DocumentNodeStateCache
focal_class.var_name: nodeStateCache
focal_class.declarator: nodeStoreStatsCollector
focal_class.modifier: private final
focal_class.original_string: private final DocumentNodeStoreStatsCollector nodeStoreStatsCollector;
focal_class.type: DocumentNodeStoreStatsCollector
focal_class.var_name: nodeStoreStatsCollector
focal_class.declarator: bundlingConfigHandler = new BundlingConfigHandler()
focal_class.modifier: private final
focal_class.original_string: private final BundlingConfigHandler bundlingConfigHandler = new BundlingConfigHandler();
focal_class.type: BundlingConfigHandler
focal_class.var_name: bundlingConfigHandler
focal_class.declarator: bundledDocDiffer = new BundledDocumentDiffer(this)
focal_class.modifier: private final
focal_class.original_string: private final BundledDocumentDiffer bundledDocDiffer = new BundledDocumentDiffer(this);
focal_class.type: BundledDocumentDiffer
focal_class.var_name: bundledDocDiffer
focal_class.declarator: journalPropertyHandlerFactory
focal_class.modifier: private final
focal_class.original_string: private final JournalPropertyHandlerFactory journalPropertyHandlerFactory;
focal_class.type: JournalPropertyHandlerFactory
focal_class.var_name: journalPropertyHandlerFactory
focal_class.declarator: updateLimit
focal_class.modifier: private final
focal_class.original_string: private final int updateLimit;
focal_class.type: int
focal_class.var_name: updateLimit
focal_class.declarator: inDoubtTrunkCommits = Sets.newConcurrentHashSet()
focal_class.modifier: private final
focal_class.original_string: private final Set<Revision> inDoubtTrunkCommits = Sets.newConcurrentHashSet();
focal_class.type: Set<Revision>
focal_class.var_name: inDoubtTrunkCommits
focal_class.declarator: nodeCachePredicate
focal_class.modifier: private final
focal_class.original_string: private final Predicate<Path> nodeCachePredicate;
focal_class.type: Predicate<Path>
focal_class.var_name: nodeCachePredicate
focal_class.file: oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
focal_class.identifier: DocumentNodeStore
focal_class.interfaces: implements NodeStore, RevisionContext, Observable, Clusterable, NodeStateDiffer
focal_class.class_method_signature: DocumentNodeStore.DocumentNodeStore(DocumentNodeStoreBuilder<?> builder)
focal_class.full_signature: public  DocumentNodeStore(DocumentNodeStoreBuilder<?> builder)
focal_class.identifier: DocumentNodeStore
focal_class.modifiers: public
focal_class.parameters: (DocumentNodeStoreBuilder<?> builder)
focal_class.signature:  DocumentNodeStore(DocumentNodeStoreBuilder<?> builder)
focal_class.class_method_signature: DocumentNodeStore.dispose()
focal_class.full_signature: public void dispose()
focal_class.identifier: dispose
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void dispose()
focal_class.class_method_signature: DocumentNodeStore.getClusterNodeInfoDisplayString()
focal_class.full_signature: private String getClusterNodeInfoDisplayString()
focal_class.identifier: getClusterNodeInfoDisplayString
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getClusterNodeInfoDisplayString()
focal_class.class_method_signature: DocumentNodeStore.setRoot(@NotNull RevisionVector newHead)
focal_class.full_signature:  void setRoot(@NotNull RevisionVector newHead)
focal_class.identifier: setRoot
focal_class.parameters: (@NotNull RevisionVector newHead)
focal_class.return: void
focal_class.signature: void setRoot(@NotNull RevisionVector newHead)
focal_class.class_method_signature: DocumentNodeStore.getDocumentStore()
focal_class.full_signature: @NotNull public DocumentStore getDocumentStore()
focal_class.identifier: getDocumentStore
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: DocumentStore
focal_class.signature: DocumentStore getDocumentStore()
focal_class.class_method_signature: DocumentNodeStore.newCommit(@NotNull Changes changes,
                       @Nullable RevisionVector base,
                       @Nullable DocumentNodeStoreBranch branch)
focal_class.full_signature: @NotNull Commit newCommit(@NotNull Changes changes,
                       @Nullable RevisionVector base,
                       @Nullable DocumentNodeStoreBranch branch)
focal_class.identifier: newCommit
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull Changes changes,
                       @Nullable RevisionVector base,
                       @Nullable DocumentNodeStoreBranch branch)
focal_class.return: Commit
focal_class.signature: Commit newCommit(@NotNull Changes changes,
                       @Nullable RevisionVector base,
                       @Nullable DocumentNodeStoreBranch branch)
focal_class.class_method_signature: DocumentNodeStore.newMergeCommit(@NotNull RevisionVector base, int numBranchCommits)
focal_class.full_signature: @NotNull private MergeCommit newMergeCommit(@NotNull RevisionVector base, int numBranchCommits)
focal_class.identifier: newMergeCommit
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull RevisionVector base, int numBranchCommits)
focal_class.return: MergeCommit
focal_class.signature: MergeCommit newMergeCommit(@NotNull RevisionVector base, int numBranchCommits)
focal_class.class_method_signature: DocumentNodeStore.done(final @NotNull Commit c, boolean isBranch, final @NotNull CommitInfo info)
focal_class.full_signature:  RevisionVector done(final @NotNull Commit c, boolean isBranch, final @NotNull CommitInfo info)
focal_class.identifier: done
focal_class.parameters: (final @NotNull Commit c, boolean isBranch, final @NotNull CommitInfo info)
focal_class.return: RevisionVector
focal_class.signature: RevisionVector done(final @NotNull Commit c, boolean isBranch, final @NotNull CommitInfo info)
focal_class.class_method_signature: DocumentNodeStore.canceled(Commit c)
focal_class.full_signature:  void canceled(Commit c)
focal_class.identifier: canceled
focal_class.parameters: (Commit c)
focal_class.return: void
focal_class.signature: void canceled(Commit c)
focal_class.class_method_signature: DocumentNodeStore.setAsyncDelay(int delay)
focal_class.full_signature: public void setAsyncDelay(int delay)
focal_class.identifier: setAsyncDelay
focal_class.modifiers: public
focal_class.parameters: (int delay)
focal_class.return: void
focal_class.signature: void setAsyncDelay(int delay)
focal_class.class_method_signature: DocumentNodeStore.getAsyncDelay()
focal_class.full_signature: public int getAsyncDelay()
focal_class.identifier: getAsyncDelay
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getAsyncDelay()
focal_class.class_method_signature: DocumentNodeStore.setMaxBackOffMillis(int time)
focal_class.full_signature: public void setMaxBackOffMillis(int time)
focal_class.identifier: setMaxBackOffMillis
focal_class.modifiers: public
focal_class.parameters: (int time)
focal_class.return: void
focal_class.signature: void setMaxBackOffMillis(int time)
focal_class.class_method_signature: DocumentNodeStore.getMaxBackOffMillis()
focal_class.full_signature: public int getMaxBackOffMillis()
focal_class.identifier: getMaxBackOffMillis
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getMaxBackOffMillis()
focal_class.class_method_signature: DocumentNodeStore.getChangeSetMaxItems()
focal_class.full_signature: public int getChangeSetMaxItems()
focal_class.identifier: getChangeSetMaxItems
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getChangeSetMaxItems()
focal_class.class_method_signature: DocumentNodeStore.setChangeSetMaxItems(int changeSetMaxItems)
focal_class.full_signature: public void setChangeSetMaxItems(int changeSetMaxItems)
focal_class.identifier: setChangeSetMaxItems
focal_class.modifiers: public
focal_class.parameters: (int changeSetMaxItems)
focal_class.return: void
focal_class.signature: void setChangeSetMaxItems(int changeSetMaxItems)
focal_class.class_method_signature: DocumentNodeStore.getChangeSetMaxDepth()
focal_class.full_signature: public int getChangeSetMaxDepth()
focal_class.identifier: getChangeSetMaxDepth
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getChangeSetMaxDepth()
focal_class.class_method_signature: DocumentNodeStore.setChangeSetMaxDepth(int changeSetMaxDepth)
focal_class.full_signature: public void setChangeSetMaxDepth(int changeSetMaxDepth)
focal_class.identifier: setChangeSetMaxDepth
focal_class.modifiers: public
focal_class.parameters: (int changeSetMaxDepth)
focal_class.return: void
focal_class.signature: void setChangeSetMaxDepth(int changeSetMaxDepth)
focal_class.class_method_signature: DocumentNodeStore.setEnableConcurrentAddRemove(boolean b)
focal_class.full_signature:  void setEnableConcurrentAddRemove(boolean b)
focal_class.identifier: setEnableConcurrentAddRemove
focal_class.parameters: (boolean b)
focal_class.return: void
focal_class.signature: void setEnableConcurrentAddRemove(boolean b)
focal_class.class_method_signature: DocumentNodeStore.getEnableConcurrentAddRemove()
focal_class.full_signature:  boolean getEnableConcurrentAddRemove()
focal_class.identifier: getEnableConcurrentAddRemove
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean getEnableConcurrentAddRemove()
focal_class.class_method_signature: DocumentNodeStore.getJournalPushThreshold()
focal_class.full_signature:  int getJournalPushThreshold()
focal_class.identifier: getJournalPushThreshold
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getJournalPushThreshold()
focal_class.class_method_signature: DocumentNodeStore.setJournalPushThreshold(int journalPushThreshold)
focal_class.full_signature:  void setJournalPushThreshold(int journalPushThreshold)
focal_class.identifier: setJournalPushThreshold
focal_class.parameters: (int journalPushThreshold)
focal_class.return: void
focal_class.signature: void setJournalPushThreshold(int journalPushThreshold)
focal_class.class_method_signature: DocumentNodeStore.getClusterInfo()
focal_class.full_signature: @NotNull public ClusterNodeInfo getClusterInfo()
focal_class.identifier: getClusterInfo
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: ClusterNodeInfo
focal_class.signature: ClusterNodeInfo getClusterInfo()
focal_class.class_method_signature: DocumentNodeStore.getNodeCacheStats()
focal_class.full_signature: public CacheStats getNodeCacheStats()
focal_class.identifier: getNodeCacheStats
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: CacheStats
focal_class.signature: CacheStats getNodeCacheStats()
focal_class.class_method_signature: DocumentNodeStore.getNodeChildrenCacheStats()
focal_class.full_signature: public CacheStats getNodeChildrenCacheStats()
focal_class.identifier: getNodeChildrenCacheStats
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: CacheStats
focal_class.signature: CacheStats getNodeChildrenCacheStats()
focal_class.class_method_signature: DocumentNodeStore.getDiffCacheStats()
focal_class.full_signature: @NotNull public Iterable<CacheStats> getDiffCacheStats()
focal_class.identifier: getDiffCacheStats
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: Iterable<CacheStats>
focal_class.signature: Iterable<CacheStats> getDiffCacheStats()
focal_class.class_method_signature: DocumentNodeStore.getNodeCache()
focal_class.full_signature: public Cache<PathRev, DocumentNodeState> getNodeCache()
focal_class.identifier: getNodeCache
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Cache<PathRev, DocumentNodeState>
focal_class.signature: Cache<PathRev, DocumentNodeState> getNodeCache()
focal_class.class_method_signature: DocumentNodeStore.getNodeChildrenCache()
focal_class.full_signature: public Cache<NamePathRev, DocumentNodeState.Children> getNodeChildrenCache()
focal_class.identifier: getNodeChildrenCache
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Cache<NamePathRev, DocumentNodeState.Children>
focal_class.signature: Cache<NamePathRev, DocumentNodeState.Children> getNodeChildrenCache()
focal_class.class_method_signature: DocumentNodeStore.getNodeCachePredicate()
focal_class.full_signature: public Predicate<Path> getNodeCachePredicate()
focal_class.identifier: getNodeCachePredicate
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Predicate<Path>
focal_class.signature: Predicate<Path> getNodeCachePredicate()
focal_class.class_method_signature: DocumentNodeStore.getCurrentJournalEntry()
focal_class.full_signature:  JournalEntry getCurrentJournalEntry()
focal_class.identifier: getCurrentJournalEntry
focal_class.parameters: ()
focal_class.return: JournalEntry
focal_class.signature: JournalEntry getCurrentJournalEntry()
focal_class.class_method_signature: DocumentNodeStore.invalidateNodeChildrenCache()
focal_class.full_signature:  void invalidateNodeChildrenCache()
focal_class.identifier: invalidateNodeChildrenCache
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void invalidateNodeChildrenCache()
focal_class.class_method_signature: DocumentNodeStore.invalidateNodeCache(String path, RevisionVector revision)
focal_class.full_signature:  void invalidateNodeCache(String path, RevisionVector revision)
focal_class.identifier: invalidateNodeCache
focal_class.parameters: (String path, RevisionVector revision)
focal_class.return: void
focal_class.signature: void invalidateNodeCache(String path, RevisionVector revision)
focal_class.class_method_signature: DocumentNodeStore.getPendingWriteCount()
focal_class.full_signature: public int getPendingWriteCount()
focal_class.identifier: getPendingWriteCount
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getPendingWriteCount()
focal_class.class_method_signature: DocumentNodeStore.isDisableBranches()
focal_class.full_signature: public boolean isDisableBranches()
focal_class.identifier: isDisableBranches
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isDisableBranches()
focal_class.class_method_signature: DocumentNodeStore.addSplitCandidate(String id)
focal_class.full_signature:  void addSplitCandidate(String id)
focal_class.identifier: addSplitCandidate
focal_class.parameters: (String id)
focal_class.return: void
focal_class.signature: void addSplitCandidate(String id)
focal_class.class_method_signature: DocumentNodeStore.getSecondaryNodeState(@NotNull final Path path,
                                @NotNull final RevisionVector rootRevision,
                                @NotNull final RevisionVector rev)
focal_class.full_signature: @Nullable AbstractDocumentNodeState getSecondaryNodeState(@NotNull final Path path,
                                @NotNull final RevisionVector rootRevision,
                                @NotNull final RevisionVector rev)
focal_class.identifier: getSecondaryNodeState
focal_class.modifiers: @Nullable
focal_class.parameters: (@NotNull final Path path,
                                @NotNull final RevisionVector rootRevision,
                                @NotNull final RevisionVector rev)
focal_class.return: AbstractDocumentNodeState
focal_class.signature: AbstractDocumentNodeState getSecondaryNodeState(@NotNull final Path path,
                                @NotNull final RevisionVector rootRevision,
                                @NotNull final RevisionVector rev)
focal_class.class_method_signature: DocumentNodeStore.createPropertyState(String name, String value)
focal_class.full_signature: @NotNull public PropertyState createPropertyState(String name, String value)
focal_class.identifier: createPropertyState
focal_class.modifiers: @NotNull public
focal_class.parameters: (String name, String value)
focal_class.return: PropertyState
focal_class.signature: PropertyState createPropertyState(String name, String value)
focal_class.class_method_signature: DocumentNodeStore.getNode(@NotNull final Path path,
                                       @NotNull final RevisionVector rev)
focal_class.full_signature: @Nullable public DocumentNodeState getNode(@NotNull final Path path,
                                       @NotNull final RevisionVector rev)
focal_class.identifier: getNode
focal_class.modifiers: @Nullable public
focal_class.parameters: (@NotNull final Path path,
                                       @NotNull final RevisionVector rev)
focal_class.return: DocumentNodeState
focal_class.signature: DocumentNodeState getNode(@NotNull final Path path,
                                       @NotNull final RevisionVector rev)
focal_class.class_method_signature: DocumentNodeStore.getChildren(@NotNull final AbstractDocumentNodeState parent,
                                             @NotNull final String name,
                                             final int limit)
focal_class.full_signature: @NotNull DocumentNodeState.Children getChildren(@NotNull final AbstractDocumentNodeState parent,
                                             @NotNull final String name,
                                             final int limit)
focal_class.identifier: getChildren
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull final AbstractDocumentNodeState parent,
                                             @NotNull final String name,
                                             final int limit)
focal_class.return: DocumentNodeState.Children
focal_class.signature: DocumentNodeState.Children getChildren(@NotNull final AbstractDocumentNodeState parent,
                                             @NotNull final String name,
                                             final int limit)
focal_class.class_method_signature: DocumentNodeStore.readChildren(@NotNull AbstractDocumentNodeState parent,
                                              @NotNull String name, int limit)
focal_class.full_signature:  DocumentNodeState.Children readChildren(@NotNull AbstractDocumentNodeState parent,
                                              @NotNull String name, int limit)
focal_class.identifier: readChildren
focal_class.parameters: (@NotNull AbstractDocumentNodeState parent,
                                              @NotNull String name, int limit)
focal_class.return: DocumentNodeState.Children
focal_class.signature: DocumentNodeState.Children readChildren(@NotNull AbstractDocumentNodeState parent,
                                              @NotNull String name, int limit)
focal_class.class_method_signature: DocumentNodeStore.readChildDocs(@NotNull final Path path,
                                                   @NotNull String name,
                                                   final int limit)
focal_class.full_signature: @NotNull private Iterable<NodeDocument> readChildDocs(@NotNull final Path path,
                                                   @NotNull String name,
                                                   final int limit)
focal_class.identifier: readChildDocs
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull final Path path,
                                                   @NotNull String name,
                                                   final int limit)
focal_class.return: Iterable<NodeDocument>
focal_class.signature: Iterable<NodeDocument> readChildDocs(@NotNull final Path path,
                                                   @NotNull String name,
                                                   final int limit)
focal_class.class_method_signature: DocumentNodeStore.getChildNodes(@NotNull final DocumentNodeState parent,
                                                @NotNull final String name,
                      final int limit)
focal_class.full_signature: @NotNull Iterable<DocumentNodeState> getChildNodes(@NotNull final DocumentNodeState parent,
                                                @NotNull final String name,
                      final int limit)
focal_class.identifier: getChildNodes
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull final DocumentNodeState parent,
                                                @NotNull final String name,
                      final int limit)
focal_class.return: Iterable<DocumentNodeState>
focal_class.signature: Iterable<DocumentNodeState> getChildNodes(@NotNull final DocumentNodeState parent,
                                                @NotNull final String name,
                      final int limit)
focal_class.class_method_signature: DocumentNodeStore.readNode(Path path, RevisionVector readRevision)
focal_class.full_signature: @Nullable private DocumentNodeState readNode(Path path, RevisionVector readRevision)
focal_class.identifier: readNode
focal_class.modifiers: @Nullable private
focal_class.parameters: (Path path, RevisionVector readRevision)
focal_class.return: DocumentNodeState
focal_class.signature: DocumentNodeState readNode(Path path, RevisionVector readRevision)
focal_class.class_method_signature: DocumentNodeStore.getBundlingConfigHandler()
focal_class.full_signature: public BundlingConfigHandler getBundlingConfigHandler()
focal_class.identifier: getBundlingConfigHandler
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: BundlingConfigHandler
focal_class.signature: BundlingConfigHandler getBundlingConfigHandler()
focal_class.class_method_signature: DocumentNodeStore.applyChanges(RevisionVector before, RevisionVector after,
                        Revision rev, Path path,
                        boolean isNew, List<Path> added,
                        List<Path> removed, List<Path> changed)
focal_class.full_signature:  void applyChanges(RevisionVector before, RevisionVector after,
                        Revision rev, Path path,
                        boolean isNew, List<Path> added,
                        List<Path> removed, List<Path> changed)
focal_class.identifier: applyChanges
focal_class.parameters: (RevisionVector before, RevisionVector after,
                        Revision rev, Path path,
                        boolean isNew, List<Path> added,
                        List<Path> removed, List<Path> changed)
focal_class.return: void
focal_class.signature: void applyChanges(RevisionVector before, RevisionVector after,
                        Revision rev, Path path,
                        boolean isNew, List<Path> added,
                        List<Path> removed, List<Path> changed)
focal_class.class_method_signature: DocumentNodeStore.revisionsMerged(@NotNull Iterable<Revision> revisions)
focal_class.full_signature:  void revisionsMerged(@NotNull Iterable<Revision> revisions)
focal_class.identifier: revisionsMerged
focal_class.parameters: (@NotNull Iterable<Revision> revisions)
focal_class.return: void
focal_class.signature: void revisionsMerged(@NotNull Iterable<Revision> revisions)
focal_class.class_method_signature: DocumentNodeStore.updateCommitRoot(UpdateOp commit, Revision commitRev)
focal_class.full_signature: @Nullable NodeDocument updateCommitRoot(UpdateOp commit, Revision commitRev)
focal_class.identifier: updateCommitRoot
focal_class.modifiers: @Nullable
focal_class.parameters: (UpdateOp commit, Revision commitRev)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument updateCommitRoot(UpdateOp commit, Revision commitRev)
focal_class.class_method_signature: DocumentNodeStore.verifyCommitRootUpdateApplied(UpdateOp commit,
                                                         Revision commitRev,
                                                         DocumentStoreException e)
focal_class.full_signature: private NodeDocument verifyCommitRootUpdateApplied(UpdateOp commit,
                                                         Revision commitRev,
                                                         DocumentStoreException e)
focal_class.identifier: verifyCommitRootUpdateApplied
focal_class.modifiers: private
focal_class.parameters: (UpdateOp commit,
                                                         Revision commitRev,
                                                         DocumentStoreException e)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument verifyCommitRootUpdateApplied(UpdateOp commit,
                                                         Revision commitRev,
                                                         DocumentStoreException e)
focal_class.class_method_signature: DocumentNodeStore.batchUpdateCommitRoot(UpdateOp commit)
focal_class.full_signature: private NodeDocument batchUpdateCommitRoot(UpdateOp commit)
focal_class.identifier: batchUpdateCommitRoot
focal_class.modifiers: private
focal_class.parameters: (UpdateOp commit)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument batchUpdateCommitRoot(UpdateOp commit)
focal_class.class_method_signature: DocumentNodeStore.getRoot(@NotNull RevisionVector revision)
focal_class.full_signature: @NotNull DocumentNodeState getRoot(@NotNull RevisionVector revision)
focal_class.identifier: getRoot
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull RevisionVector revision)
focal_class.return: DocumentNodeState
focal_class.signature: DocumentNodeState getRoot(@NotNull RevisionVector revision)
focal_class.class_method_signature: DocumentNodeStore.createBranch(DocumentNodeState base)
focal_class.full_signature: @NotNull DocumentNodeStoreBranch createBranch(DocumentNodeState base)
focal_class.identifier: createBranch
focal_class.modifiers: @NotNull
focal_class.parameters: (DocumentNodeState base)
focal_class.return: DocumentNodeStoreBranch
focal_class.signature: DocumentNodeStoreBranch createBranch(DocumentNodeState base)
focal_class.class_method_signature: DocumentNodeStore.rebase(@NotNull RevisionVector branchHead,
                            @NotNull RevisionVector base)
focal_class.full_signature: @NotNull RevisionVector rebase(@NotNull RevisionVector branchHead,
                            @NotNull RevisionVector base)
focal_class.identifier: rebase
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull RevisionVector branchHead,
                            @NotNull RevisionVector base)
focal_class.return: RevisionVector
focal_class.signature: RevisionVector rebase(@NotNull RevisionVector branchHead,
                            @NotNull RevisionVector base)
focal_class.class_method_signature: DocumentNodeStore.reset(@NotNull RevisionVector branchHead,
                           @NotNull RevisionVector ancestor)
focal_class.full_signature: @NotNull RevisionVector reset(@NotNull RevisionVector branchHead,
                           @NotNull RevisionVector ancestor)
focal_class.identifier: reset
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull RevisionVector branchHead,
                           @NotNull RevisionVector ancestor)
focal_class.return: RevisionVector
focal_class.signature: RevisionVector reset(@NotNull RevisionVector branchHead,
                           @NotNull RevisionVector ancestor)
focal_class.class_method_signature: DocumentNodeStore.merge(@NotNull RevisionVector branchHead,
                           @NotNull CommitInfo info)
focal_class.full_signature: @NotNull RevisionVector merge(@NotNull RevisionVector branchHead,
                           @NotNull CommitInfo info)
focal_class.identifier: merge
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull RevisionVector branchHead,
                           @NotNull CommitInfo info)
focal_class.return: RevisionVector
focal_class.signature: RevisionVector merge(@NotNull RevisionVector branchHead,
                           @NotNull CommitInfo info)
focal_class.class_method_signature: DocumentNodeStore.compare(@NotNull final AbstractDocumentNodeState node,
                             @NotNull final AbstractDocumentNodeState base,
                             @NotNull NodeStateDiff diff)
focal_class.full_signature: @Override public boolean compare(@NotNull final AbstractDocumentNodeState node,
                             @NotNull final AbstractDocumentNodeState base,
                             @NotNull NodeStateDiff diff)
focal_class.identifier: compare
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull final AbstractDocumentNodeState node,
                             @NotNull final AbstractDocumentNodeState base,
                             @NotNull NodeStateDiff diff)
focal_class.return: boolean
focal_class.signature: boolean compare(@NotNull final AbstractDocumentNodeState node,
                             @NotNull final AbstractDocumentNodeState base,
                             @NotNull NodeStateDiff diff)
focal_class.class_method_signature: DocumentNodeStore.createTracker(final @NotNull Revision r,
                                   final boolean isBranchCommit)
focal_class.full_signature:  LastRevTracker createTracker(final @NotNull Revision r,
                                   final boolean isBranchCommit)
focal_class.identifier: createTracker
focal_class.parameters: (final @NotNull Revision r,
                                   final boolean isBranchCommit)
focal_class.return: LastRevTracker
focal_class.signature: LastRevTracker createTracker(final @NotNull Revision r,
                                   final boolean isBranchCommit)
focal_class.class_method_signature: DocumentNodeStore.suspendUntilAll(@NotNull Set<Revision> conflictRevisions)
focal_class.full_signature:  long suspendUntilAll(@NotNull Set<Revision> conflictRevisions)
focal_class.identifier: suspendUntilAll
focal_class.parameters: (@NotNull Set<Revision> conflictRevisions)
focal_class.return: long
focal_class.signature: long suspendUntilAll(@NotNull Set<Revision> conflictRevisions)
focal_class.class_method_signature: DocumentNodeStore.addObserver(Observer observer)
focal_class.full_signature: @Override public Closeable addObserver(Observer observer)
focal_class.identifier: addObserver
focal_class.modifiers: @Override public
focal_class.parameters: (Observer observer)
focal_class.return: Closeable
focal_class.signature: Closeable addObserver(Observer observer)
focal_class.class_method_signature: DocumentNodeStore.getRoot()
focal_class.full_signature: @NotNull @Override public DocumentNodeState getRoot()
focal_class.identifier: getRoot
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: DocumentNodeState
focal_class.signature: DocumentNodeState getRoot()
focal_class.class_method_signature: DocumentNodeStore.merge(@NotNull NodeBuilder builder,
                             @NotNull CommitHook commitHook,
                             @NotNull CommitInfo info)
focal_class.full_signature: @NotNull @Override public NodeState merge(@NotNull NodeBuilder builder,
                             @NotNull CommitHook commitHook,
                             @NotNull CommitInfo info)
focal_class.identifier: merge
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder builder,
                             @NotNull CommitHook commitHook,
                             @NotNull CommitInfo info)
focal_class.return: NodeState
focal_class.signature: NodeState merge(@NotNull NodeBuilder builder,
                             @NotNull CommitHook commitHook,
                             @NotNull CommitInfo info)
focal_class.class_method_signature: DocumentNodeStore.rebase(@NotNull NodeBuilder builder)
focal_class.full_signature: @NotNull @Override public NodeState rebase(@NotNull NodeBuilder builder)
focal_class.identifier: rebase
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder builder)
focal_class.return: NodeState
focal_class.signature: NodeState rebase(@NotNull NodeBuilder builder)
focal_class.class_method_signature: DocumentNodeStore.reset(@NotNull NodeBuilder builder)
focal_class.full_signature: @Override public NodeState reset(@NotNull NodeBuilder builder)
focal_class.identifier: reset
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull NodeBuilder builder)
focal_class.return: NodeState
focal_class.signature: NodeState reset(@NotNull NodeBuilder builder)
focal_class.class_method_signature: DocumentNodeStore.createBlob(InputStream inputStream)
focal_class.full_signature: @Override @NotNull public BlobStoreBlob createBlob(InputStream inputStream)
focal_class.identifier: createBlob
focal_class.modifiers: @Override @NotNull public
focal_class.parameters: (InputStream inputStream)
focal_class.return: BlobStoreBlob
focal_class.signature: BlobStoreBlob createBlob(InputStream inputStream)
focal_class.class_method_signature: DocumentNodeStore.getBlob(@NotNull String reference)
focal_class.full_signature: @Override public Blob getBlob(@NotNull String reference)
focal_class.identifier: getBlob
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String reference)
focal_class.return: Blob
focal_class.signature: Blob getBlob(@NotNull String reference)
focal_class.class_method_signature: DocumentNodeStore.getBlobFromBlobId(String blobId)
focal_class.full_signature: public Blob getBlobFromBlobId(String blobId)
focal_class.identifier: getBlobFromBlobId
focal_class.modifiers: public
focal_class.parameters: (String blobId)
focal_class.return: Blob
focal_class.signature: Blob getBlobFromBlobId(String blobId)
focal_class.class_method_signature: DocumentNodeStore.checkpoint(long lifetime, @NotNull Map<String, String> properties)
focal_class.full_signature: @NotNull @Override public String checkpoint(long lifetime, @NotNull Map<String, String> properties)
focal_class.identifier: checkpoint
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (long lifetime, @NotNull Map<String, String> properties)
focal_class.return: String
focal_class.signature: String checkpoint(long lifetime, @NotNull Map<String, String> properties)
focal_class.class_method_signature: DocumentNodeStore.checkpoint(long lifetime)
focal_class.full_signature: @NotNull @Override public String checkpoint(long lifetime)
focal_class.identifier: checkpoint
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (long lifetime)
focal_class.return: String
focal_class.signature: String checkpoint(long lifetime)
focal_class.class_method_signature: DocumentNodeStore.checkpointInfo(@NotNull String checkpoint)
focal_class.full_signature: @NotNull @Override public Map<String, String> checkpointInfo(@NotNull String checkpoint)
focal_class.identifier: checkpointInfo
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull String checkpoint)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> checkpointInfo(@NotNull String checkpoint)
focal_class.class_method_signature: DocumentNodeStore.checkpoints()
focal_class.full_signature: @NotNull @Override public Iterable<String> checkpoints()
focal_class.identifier: checkpoints
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> checkpoints()
focal_class.class_method_signature: DocumentNodeStore.retrieve(@NotNull String checkpoint)
focal_class.full_signature: @Nullable @Override public NodeState retrieve(@NotNull String checkpoint)
focal_class.identifier: retrieve
focal_class.modifiers: @Nullable @Override public
focal_class.parameters: (@NotNull String checkpoint)
focal_class.return: NodeState
focal_class.signature: NodeState retrieve(@NotNull String checkpoint)
focal_class.class_method_signature: DocumentNodeStore.release(@NotNull String checkpoint)
focal_class.full_signature: @Override public boolean release(@NotNull String checkpoint)
focal_class.identifier: release
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String checkpoint)
focal_class.return: boolean
focal_class.signature: boolean release(@NotNull String checkpoint)
focal_class.class_method_signature: DocumentNodeStore.getBranches()
focal_class.full_signature: @Override public UnmergedBranches getBranches()
focal_class.identifier: getBranches
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: UnmergedBranches
focal_class.signature: UnmergedBranches getBranches()
focal_class.class_method_signature: DocumentNodeStore.getPendingModifications()
focal_class.full_signature: @Override public UnsavedModifications getPendingModifications()
focal_class.identifier: getPendingModifications
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: UnsavedModifications
focal_class.signature: UnsavedModifications getPendingModifications()
focal_class.class_method_signature: DocumentNodeStore.getClusterId()
focal_class.full_signature: @Override public int getClusterId()
focal_class.identifier: getClusterId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getClusterId()
focal_class.class_method_signature: DocumentNodeStore.getHeadRevision()
focal_class.full_signature: @Override @NotNull public RevisionVector getHeadRevision()
focal_class.identifier: getHeadRevision
focal_class.modifiers: @Override @NotNull public
focal_class.parameters: ()
focal_class.return: RevisionVector
focal_class.signature: RevisionVector getHeadRevision()
focal_class.class_method_signature: DocumentNodeStore.newRevision()
focal_class.full_signature: @Override @NotNull public Revision newRevision()
focal_class.identifier: newRevision
focal_class.modifiers: @Override @NotNull public
focal_class.parameters: ()
focal_class.return: Revision
focal_class.signature: Revision newRevision()
focal_class.class_method_signature: DocumentNodeStore.getClock()
focal_class.full_signature: @Override @NotNull public Clock getClock()
focal_class.identifier: getClock
focal_class.modifiers: @Override @NotNull public
focal_class.parameters: ()
focal_class.return: Clock
focal_class.signature: Clock getClock()
focal_class.class_method_signature: DocumentNodeStore.getCommitValue(@NotNull Revision changeRevision,
                                   @NotNull NodeDocument doc)
focal_class.full_signature: @Override public String getCommitValue(@NotNull Revision changeRevision,
                                   @NotNull NodeDocument doc)
focal_class.identifier: getCommitValue
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull Revision changeRevision,
                                   @NotNull NodeDocument doc)
focal_class.return: String
focal_class.signature: String getCommitValue(@NotNull Revision changeRevision,
                                   @NotNull NodeDocument doc)
focal_class.class_method_signature: DocumentNodeStore.runBackgroundOperations()
focal_class.full_signature: public void runBackgroundOperations()
focal_class.identifier: runBackgroundOperations
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void runBackgroundOperations()
focal_class.class_method_signature: DocumentNodeStore.runBackgroundUpdateOperations()
focal_class.full_signature:  void runBackgroundUpdateOperations()
focal_class.identifier: runBackgroundUpdateOperations
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void runBackgroundUpdateOperations()
focal_class.class_method_signature: DocumentNodeStore.internalRunBackgroundUpdateOperations()
focal_class.full_signature: private void internalRunBackgroundUpdateOperations()
focal_class.identifier: internalRunBackgroundUpdateOperations
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void internalRunBackgroundUpdateOperations()
focal_class.class_method_signature: DocumentNodeStore.runBackgroundReadOperations()
focal_class.full_signature:  void runBackgroundReadOperations()
focal_class.identifier: runBackgroundReadOperations
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void runBackgroundReadOperations()
focal_class.class_method_signature: DocumentNodeStore.internalRunBackgroundReadOperations()
focal_class.full_signature: private void internalRunBackgroundReadOperations()
focal_class.identifier: internalRunBackgroundReadOperations
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void internalRunBackgroundReadOperations()
focal_class.class_method_signature: DocumentNodeStore.runBackgroundSweepOperation()
focal_class.full_signature:  void runBackgroundSweepOperation()
focal_class.identifier: runBackgroundSweepOperation
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void runBackgroundSweepOperation()
focal_class.class_method_signature: DocumentNodeStore.internalRunBackgroundSweepOperation()
focal_class.full_signature: private void internalRunBackgroundSweepOperation()
focal_class.identifier: internalRunBackgroundSweepOperation
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void internalRunBackgroundSweepOperation()
focal_class.class_method_signature: DocumentNodeStore.logBackgroundOperation(long startTime,
                                          String message,
                                          Object... arguments)
focal_class.full_signature: private void logBackgroundOperation(long startTime,
                                          String message,
                                          Object... arguments)
focal_class.identifier: logBackgroundOperation
focal_class.modifiers: private
focal_class.parameters: (long startTime,
                                          String message,
                                          Object... arguments)
focal_class.return: void
focal_class.signature: void logBackgroundOperation(long startTime,
                                          String message,
                                          Object... arguments)
focal_class.class_method_signature: DocumentNodeStore.renewClusterIdLease()
focal_class.full_signature:  boolean renewClusterIdLease()
focal_class.identifier: renewClusterIdLease
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean renewClusterIdLease()
focal_class.class_method_signature: DocumentNodeStore.updateClusterState()
focal_class.full_signature:  boolean updateClusterState()
focal_class.identifier: updateClusterState
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean updateClusterState()
focal_class.class_method_signature: DocumentNodeStore.getMinExternalRevisions()
focal_class.full_signature: @NotNull private RevisionVector getMinExternalRevisions()
focal_class.identifier: getMinExternalRevisions
focal_class.modifiers: @NotNull private
focal_class.parameters: ()
focal_class.return: RevisionVector
focal_class.signature: RevisionVector getMinExternalRevisions()
focal_class.class_method_signature: DocumentNodeStore.backgroundRead()
focal_class.full_signature: private BackgroundReadStats backgroundRead()
focal_class.identifier: backgroundRead
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: BackgroundReadStats
focal_class.signature: BackgroundReadStats backgroundRead()
focal_class.class_method_signature: DocumentNodeStore.newCommitInfo(@NotNull ChangeSet changeSet, JournalPropertyHandler journalPropertyHandler)
focal_class.full_signature: private static CommitInfo newCommitInfo(@NotNull ChangeSet changeSet, JournalPropertyHandler journalPropertyHandler)
focal_class.identifier: newCommitInfo
focal_class.modifiers: private static
focal_class.parameters: (@NotNull ChangeSet changeSet, JournalPropertyHandler journalPropertyHandler)
focal_class.return: CommitInfo
focal_class.signature: CommitInfo newCommitInfo(@NotNull ChangeSet changeSet, JournalPropertyHandler journalPropertyHandler)
focal_class.class_method_signature: DocumentNodeStore.getChangeSet(CommitInfo info)
focal_class.full_signature: private static ChangeSet getChangeSet(CommitInfo info)
focal_class.identifier: getChangeSet
focal_class.modifiers: private static
focal_class.parameters: (CommitInfo info)
focal_class.return: ChangeSet
focal_class.signature: ChangeSet getChangeSet(CommitInfo info)
focal_class.class_method_signature: DocumentNodeStore.newChangeSetBuilder()
focal_class.full_signature: private ChangeSetBuilder newChangeSetBuilder()
focal_class.identifier: newChangeSetBuilder
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: ChangeSetBuilder
focal_class.signature: ChangeSetBuilder newChangeSetBuilder()
focal_class.class_method_signature: DocumentNodeStore.cleanOrphanedBranches()
focal_class.full_signature: private void cleanOrphanedBranches()
focal_class.identifier: cleanOrphanedBranches
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void cleanOrphanedBranches()
focal_class.class_method_signature: DocumentNodeStore.cleanRootCollisions()
focal_class.full_signature: private void cleanRootCollisions()
focal_class.identifier: cleanRootCollisions
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void cleanRootCollisions()
focal_class.class_method_signature: DocumentNodeStore.cleanCollisions(NodeDocument doc, int limit)
focal_class.full_signature: private void cleanCollisions(NodeDocument doc, int limit)
focal_class.identifier: cleanCollisions
focal_class.modifiers: private
focal_class.parameters: (NodeDocument doc, int limit)
focal_class.return: void
focal_class.signature: void cleanCollisions(NodeDocument doc, int limit)
focal_class.class_method_signature: DocumentNodeStore.backgroundSplit()
focal_class.full_signature: private void backgroundSplit()
focal_class.identifier: backgroundSplit
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void backgroundSplit()
focal_class.class_method_signature: DocumentNodeStore.getSplitCandidates()
focal_class.full_signature: @NotNull Set<String> getSplitCandidates()
focal_class.identifier: getSplitCandidates
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: Set<String>
focal_class.signature: Set<String> getSplitCandidates()
focal_class.class_method_signature: DocumentNodeStore.getSweepRevisions()
focal_class.full_signature: @NotNull RevisionVector getSweepRevisions()
focal_class.identifier: getSweepRevisions
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: RevisionVector
focal_class.signature: RevisionVector getSweepRevisions()
focal_class.class_method_signature: DocumentNodeStore.getCreateOrUpdateBatchSize()
focal_class.full_signature:  int getCreateOrUpdateBatchSize()
focal_class.identifier: getCreateOrUpdateBatchSize
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getCreateOrUpdateBatchSize()
focal_class.class_method_signature: DocumentNodeStore.backgroundWrite()
focal_class.full_signature: private BackgroundWriteStats backgroundWrite()
focal_class.identifier: backgroundWrite
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: BackgroundWriteStats
focal_class.signature: BackgroundWriteStats backgroundWrite()
focal_class.class_method_signature: DocumentNodeStore.maybeRefreshHeadRevision()
focal_class.full_signature: private void maybeRefreshHeadRevision()
focal_class.identifier: maybeRefreshHeadRevision
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void maybeRefreshHeadRevision()
focal_class.class_method_signature: DocumentNodeStore.backgroundSweep()
focal_class.full_signature: private int backgroundSweep()
focal_class.identifier: backgroundSweep
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int backgroundSweep()
focal_class.class_method_signature: DocumentNodeStore.forceBackgroundSweep(Revision startRev, String reason)
focal_class.full_signature: private int forceBackgroundSweep(Revision startRev, String reason)
focal_class.identifier: forceBackgroundSweep
focal_class.modifiers: private
focal_class.parameters: (Revision startRev, String reason)
focal_class.return: int
focal_class.signature: int forceBackgroundSweep(Revision startRev, String reason)
focal_class.class_method_signature: DocumentNodeStore.updateSweepRevision(Revision newSweepRevision)
focal_class.full_signature: private void updateSweepRevision(Revision newSweepRevision)
focal_class.identifier: updateSweepRevision
focal_class.modifiers: private
focal_class.parameters: (Revision newSweepRevision)
focal_class.return: void
focal_class.signature: void updateSweepRevision(Revision newSweepRevision)
focal_class.class_method_signature: DocumentNodeStore.checkVersion(DocumentStore store, boolean readOnlyMode)
focal_class.full_signature: private static void checkVersion(DocumentStore store, boolean readOnlyMode)
focal_class.identifier: checkVersion
focal_class.modifiers: private static
focal_class.parameters: (DocumentStore store, boolean readOnlyMode)
focal_class.return: void
focal_class.signature: void checkVersion(DocumentStore store, boolean readOnlyMode)
focal_class.class_method_signature: DocumentNodeStore.checkRevisionAge(DocumentStore store,
                                           ClusterNodeInfo info,
                                           Clock clock)
focal_class.full_signature: private static void checkRevisionAge(DocumentStore store,
                                           ClusterNodeInfo info,
                                           Clock clock)
focal_class.identifier: checkRevisionAge
focal_class.modifiers: private static
focal_class.parameters: (DocumentStore store,
                                           ClusterNodeInfo info,
                                           Clock clock)
focal_class.return: void
focal_class.signature: void checkRevisionAge(DocumentStore store,
                                           ClusterNodeInfo info,
                                           Clock clock)
focal_class.class_method_signature: DocumentNodeStore.pushJournalEntry(Revision r)
focal_class.full_signature: private void pushJournalEntry(Revision r)
focal_class.identifier: pushJournalEntry
focal_class.modifiers: private
focal_class.parameters: (Revision r)
focal_class.return: void
focal_class.signature: void pushJournalEntry(Revision r)
focal_class.class_method_signature: DocumentNodeStore.getBinarySize(@Nullable String json)
focal_class.full_signature: private long getBinarySize(@Nullable String json)
focal_class.identifier: getBinarySize
focal_class.modifiers: private
focal_class.parameters: (@Nullable String json)
focal_class.return: long
focal_class.signature: long getBinarySize(@Nullable String json)
focal_class.class_method_signature: DocumentNodeStore.newJournalEntry()
focal_class.full_signature: private JournalEntry newJournalEntry()
focal_class.identifier: newJournalEntry
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: JournalEntry
focal_class.signature: JournalEntry newJournalEntry()
focal_class.class_method_signature: DocumentNodeStore.initializeRootState(NodeDocument rootDoc)
focal_class.full_signature: private void initializeRootState(NodeDocument rootDoc)
focal_class.identifier: initializeRootState
focal_class.modifiers: private
focal_class.parameters: (NodeDocument rootDoc)
focal_class.return: void
focal_class.signature: void initializeRootState(NodeDocument rootDoc)
focal_class.class_method_signature: DocumentNodeStore.newTrunkCommit(@NotNull Changes changes,
                                    @NotNull RevisionVector base)
focal_class.full_signature: private Commit newTrunkCommit(@NotNull Changes changes,
                                    @NotNull RevisionVector base)
focal_class.identifier: newTrunkCommit
focal_class.modifiers: private
focal_class.parameters: (@NotNull Changes changes,
                                    @NotNull RevisionVector base)
focal_class.return: Commit
focal_class.signature: Commit newTrunkCommit(@NotNull Changes changes,
                                    @NotNull RevisionVector base)
focal_class.class_method_signature: DocumentNodeStore.newBranchCommit(@NotNull Changes changes,
                                     @NotNull RevisionVector base,
                                     @Nullable DocumentNodeStoreBranch branch)
focal_class.full_signature: @NotNull private Commit newBranchCommit(@NotNull Changes changes,
                                     @NotNull RevisionVector base,
                                     @Nullable DocumentNodeStoreBranch branch)
focal_class.identifier: newBranchCommit
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull Changes changes,
                                     @NotNull RevisionVector base,
                                     @Nullable DocumentNodeStoreBranch branch)
focal_class.return: Commit
focal_class.signature: Commit newBranchCommit(@NotNull Changes changes,
                                     @NotNull RevisionVector base,
                                     @Nullable DocumentNodeStoreBranch branch)
focal_class.class_method_signature: DocumentNodeStore.newCommitBuilder(@NotNull RevisionVector base,
                                             @Nullable Revision commitRevision)
focal_class.full_signature: @NotNull private CommitBuilder newCommitBuilder(@NotNull RevisionVector base,
                                             @Nullable Revision commitRevision)
focal_class.identifier: newCommitBuilder
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull RevisionVector base,
                                             @Nullable Revision commitRevision)
focal_class.return: CommitBuilder
focal_class.signature: CommitBuilder newCommitBuilder(@NotNull RevisionVector base,
                                             @Nullable Revision commitRevision)
focal_class.class_method_signature: DocumentNodeStore.checkOpen()
focal_class.full_signature: private void checkOpen()
focal_class.identifier: checkOpen
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void checkOpen()
focal_class.class_method_signature: DocumentNodeStore.checkNodeNotExistsFromChildrenCache(Path path,
                                                          RevisionVector rev)
focal_class.full_signature: private boolean checkNodeNotExistsFromChildrenCache(Path path,
                                                          RevisionVector rev)
focal_class.identifier: checkNodeNotExistsFromChildrenCache
focal_class.modifiers: private
focal_class.parameters: (Path path,
                                                          RevisionVector rev)
focal_class.return: boolean
focal_class.signature: boolean checkNodeNotExistsFromChildrenCache(Path path,
                                                          RevisionVector rev)
focal_class.class_method_signature: DocumentNodeStore.diffImpl(AbstractDocumentNodeState from, AbstractDocumentNodeState to)
focal_class.full_signature: private String diffImpl(AbstractDocumentNodeState from, AbstractDocumentNodeState to)
focal_class.identifier: diffImpl
focal_class.modifiers: private
focal_class.parameters: (AbstractDocumentNodeState from, AbstractDocumentNodeState to)
focal_class.return: String
focal_class.signature: String diffImpl(AbstractDocumentNodeState from, AbstractDocumentNodeState to)
focal_class.class_method_signature: DocumentNodeStore.diffManyChildren(JsopWriter w, Path path,
                                    RevisionVector fromRev,
                                    RevisionVector toRev)
focal_class.full_signature: private void diffManyChildren(JsopWriter w, Path path,
                                    RevisionVector fromRev,
                                    RevisionVector toRev)
focal_class.identifier: diffManyChildren
focal_class.modifiers: private
focal_class.parameters: (JsopWriter w, Path path,
                                    RevisionVector fromRev,
                                    RevisionVector toRev)
focal_class.return: void
focal_class.signature: void diffManyChildren(JsopWriter w, Path path,
                                    RevisionVector fromRev,
                                    RevisionVector toRev)
focal_class.class_method_signature: DocumentNodeStore.addPathsForDiff(Path path,
                                          Set<Path> paths,
                                          Iterable<Path> modified)
focal_class.full_signature: private static void addPathsForDiff(Path path,
                                          Set<Path> paths,
                                          Iterable<Path> modified)
focal_class.identifier: addPathsForDiff
focal_class.modifiers: private static
focal_class.parameters: (Path path,
                                          Set<Path> paths,
                                          Iterable<Path> modified)
focal_class.return: void
focal_class.signature: void addPathsForDiff(Path path,
                                          Set<Path> paths,
                                          Iterable<Path> modified)
focal_class.class_method_signature: DocumentNodeStore.diffFewChildren(JsopWriter w, Path parentPath,
                                   DocumentNodeState.Children fromChildren,
                                   RevisionVector fromRev,
                                   DocumentNodeState.Children toChildren,
                                   RevisionVector toRev)
focal_class.full_signature: private void diffFewChildren(JsopWriter w, Path parentPath,
                                   DocumentNodeState.Children fromChildren,
                                   RevisionVector fromRev,
                                   DocumentNodeState.Children toChildren,
                                   RevisionVector toRev)
focal_class.identifier: diffFewChildren
focal_class.modifiers: private
focal_class.parameters: (JsopWriter w, Path parentPath,
                                   DocumentNodeState.Children fromChildren,
                                   RevisionVector fromRev,
                                   DocumentNodeState.Children toChildren,
                                   RevisionVector toRev)
focal_class.return: void
focal_class.signature: void diffFewChildren(JsopWriter w, Path parentPath,
                                   DocumentNodeState.Children fromChildren,
                                   RevisionVector fromRev,
                                   DocumentNodeState.Children toChildren,
                                   RevisionVector toRev)
focal_class.class_method_signature: DocumentNodeStore.childNodeCacheKey(@NotNull Path path,
                                                   @NotNull RevisionVector readRevision,
                                                   @NotNull String name)
focal_class.full_signature: private static NamePathRev childNodeCacheKey(@NotNull Path path,
                                                   @NotNull RevisionVector readRevision,
                                                   @NotNull String name)
focal_class.identifier: childNodeCacheKey
focal_class.modifiers: private static
focal_class.parameters: (@NotNull Path path,
                                                   @NotNull RevisionVector readRevision,
                                                   @NotNull String name)
focal_class.return: NamePathRev
focal_class.signature: NamePathRev childNodeCacheKey(@NotNull Path path,
                                                   @NotNull RevisionVector readRevision,
                                                   @NotNull String name)
focal_class.class_method_signature: DocumentNodeStore.asDocumentRootBuilder(NodeBuilder builder)
focal_class.full_signature: private static DocumentRootBuilder asDocumentRootBuilder(NodeBuilder builder)
focal_class.identifier: asDocumentRootBuilder
focal_class.modifiers: private static
focal_class.parameters: (NodeBuilder builder)
focal_class.return: DocumentRootBuilder
focal_class.signature: DocumentRootBuilder asDocumentRootBuilder(NodeBuilder builder)
focal_class.class_method_signature: DocumentNodeStore.now()
focal_class.full_signature: private static long now()
focal_class.identifier: now
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long now()
focal_class.class_method_signature: DocumentNodeStore.checkBranchAge(Branch b)
focal_class.full_signature: private void checkBranchAge(Branch b)
focal_class.identifier: checkBranchAge
focal_class.modifiers: private
focal_class.parameters: (Branch b)
focal_class.return: void
focal_class.signature: void checkBranchAge(Branch b)
focal_class.class_method_signature: DocumentNodeStore.createBlobGarbageCollector(long blobGcMaxAgeInSecs, String repositoryId,
          Whiteboard whiteboard, StatisticsProvider statisticsProvider)
focal_class.full_signature: @Nullable public MarkSweepGarbageCollector createBlobGarbageCollector(long blobGcMaxAgeInSecs, String repositoryId,
          Whiteboard whiteboard, StatisticsProvider statisticsProvider)
focal_class.identifier: createBlobGarbageCollector
focal_class.modifiers: @Nullable public
focal_class.parameters: (long blobGcMaxAgeInSecs, String repositoryId,
          Whiteboard whiteboard, StatisticsProvider statisticsProvider)
focal_class.return: MarkSweepGarbageCollector
focal_class.signature: MarkSweepGarbageCollector createBlobGarbageCollector(long blobGcMaxAgeInSecs, String repositoryId,
          Whiteboard whiteboard, StatisticsProvider statisticsProvider)
focal_class.class_method_signature: DocumentNodeStore.setClusterStateChangeListener(ClusterStateChangeListener clusterStateChangeListener)
focal_class.full_signature:  void setClusterStateChangeListener(ClusterStateChangeListener clusterStateChangeListener)
focal_class.identifier: setClusterStateChangeListener
focal_class.parameters: (ClusterStateChangeListener clusterStateChangeListener)
focal_class.return: void
focal_class.signature: void setClusterStateChangeListener(ClusterStateChangeListener clusterStateChangeListener)
focal_class.class_method_signature: DocumentNodeStore.signalClusterStateChange()
focal_class.full_signature: private void signalClusterStateChange()
focal_class.identifier: signalClusterStateChange
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void signalClusterStateChange()
focal_class.class_method_signature: DocumentNodeStore.getMBean()
focal_class.full_signature: public DocumentNodeStoreMBean getMBean()
focal_class.identifier: getMBean
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: DocumentNodeStoreMBean
focal_class.signature: DocumentNodeStoreMBean getMBean()
focal_class.class_method_signature: DocumentNodeStore.createMBean(DocumentNodeStoreBuilder<?> builder)
focal_class.full_signature: private DocumentNodeStoreMBean createMBean(DocumentNodeStoreBuilder<?> builder)
focal_class.identifier: createMBean
focal_class.modifiers: private
focal_class.parameters: (DocumentNodeStoreBuilder<?> builder)
focal_class.return: DocumentNodeStoreMBean
focal_class.signature: DocumentNodeStoreMBean createMBean(DocumentNodeStoreBuilder<?> builder)
focal_class.class_method_signature: DocumentNodeStore.getBlobStore()
focal_class.full_signature: public BlobStore getBlobStore()
focal_class.identifier: getBlobStore
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: BlobStore
focal_class.signature: BlobStore getBlobStore()
focal_class.class_method_signature: DocumentNodeStore.getBlobSerializer()
focal_class.full_signature:  BlobSerializer getBlobSerializer()
focal_class.identifier: getBlobSerializer
focal_class.parameters: ()
focal_class.return: BlobSerializer
focal_class.signature: BlobSerializer getBlobSerializer()
focal_class.class_method_signature: DocumentNodeStore.getReferencedBlobsIterator()
focal_class.full_signature: public Iterator<ReferencedBlob> getReferencedBlobsIterator()
focal_class.identifier: getReferencedBlobsIterator
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Iterator<ReferencedBlob>
focal_class.signature: Iterator<ReferencedBlob> getReferencedBlobsIterator()
focal_class.class_method_signature: DocumentNodeStore.getDiffCache()
focal_class.full_signature: public DiffCache getDiffCache()
focal_class.identifier: getDiffCache
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: DiffCache
focal_class.signature: DiffCache getDiffCache()
focal_class.class_method_signature: DocumentNodeStore.getCheckpoints()
focal_class.full_signature: public Checkpoints getCheckpoints()
focal_class.identifier: getCheckpoints
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Checkpoints
focal_class.signature: Checkpoints getCheckpoints()
focal_class.class_method_signature: DocumentNodeStore.getVersionGarbageCollector()
focal_class.full_signature: @NotNull public VersionGarbageCollector getVersionGarbageCollector()
focal_class.identifier: getVersionGarbageCollector
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: VersionGarbageCollector
focal_class.signature: VersionGarbageCollector getVersionGarbageCollector()
focal_class.class_method_signature: DocumentNodeStore.getJournalGarbageCollector()
focal_class.full_signature: @NotNull public JournalGarbageCollector getJournalGarbageCollector()
focal_class.identifier: getJournalGarbageCollector
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: JournalGarbageCollector
focal_class.signature: JournalGarbageCollector getJournalGarbageCollector()
focal_class.class_method_signature: DocumentNodeStore.getLastRevRecoveryAgent()
focal_class.full_signature: @NotNull public LastRevRecoveryAgent getLastRevRecoveryAgent()
focal_class.identifier: getLastRevRecoveryAgent
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: LastRevRecoveryAgent
focal_class.signature: LastRevRecoveryAgent getLastRevRecoveryAgent()
focal_class.class_method_signature: DocumentNodeStore.getInstanceId()
focal_class.full_signature: @Override public String getInstanceId()
focal_class.identifier: getInstanceId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getInstanceId()
focal_class.class_method_signature: DocumentNodeStore.getVisibilityToken()
focal_class.full_signature: @Override public String getVisibilityToken()
focal_class.identifier: getVisibilityToken
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getVisibilityToken()
focal_class.class_method_signature: DocumentNodeStore.isVisible(RevisionVector rv)
focal_class.full_signature: private boolean isVisible(RevisionVector rv)
focal_class.identifier: isVisible
focal_class.modifiers: private
focal_class.parameters: (RevisionVector rv)
focal_class.return: boolean
focal_class.signature: boolean isVisible(RevisionVector rv)
focal_class.class_method_signature: DocumentNodeStore.isVisible(@NotNull String visibilityToken, long maxWaitMillis)
focal_class.full_signature: @Override public boolean isVisible(@NotNull String visibilityToken, long maxWaitMillis)
focal_class.identifier: isVisible
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String visibilityToken, long maxWaitMillis)
focal_class.return: boolean
focal_class.signature: boolean isVisible(@NotNull String visibilityToken, long maxWaitMillis)
focal_class.class_method_signature: DocumentNodeStore.getStatsCollector()
focal_class.full_signature: public DocumentNodeStoreStatsCollector getStatsCollector()
focal_class.identifier: getStatsCollector
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: DocumentNodeStoreStatsCollector
focal_class.signature: DocumentNodeStoreStatsCollector getStatsCollector()
focal_class.class_method_signature: DocumentNodeStore.getNodeStateCache()
focal_class.full_signature: public DocumentNodeStateCache getNodeStateCache()
focal_class.identifier: getNodeStateCache
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: DocumentNodeStateCache
focal_class.signature: DocumentNodeStateCache getNodeStateCache()
focal_class.class_method_signature: DocumentNodeStore.setNodeStateCache(DocumentNodeStateCache nodeStateCache)
focal_class.full_signature: public void setNodeStateCache(DocumentNodeStateCache nodeStateCache)
focal_class.identifier: setNodeStateCache
focal_class.modifiers: public
focal_class.parameters: (DocumentNodeStateCache nodeStateCache)
focal_class.return: void
focal_class.signature: void setNodeStateCache(DocumentNodeStateCache nodeStateCache)
focal_class.class_method_signature: DocumentNodeStore.getJournalPropertyHandlerFactory()
focal_class.full_signature: public JournalPropertyHandlerFactory getJournalPropertyHandlerFactory()
focal_class.identifier: getJournalPropertyHandlerFactory
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: JournalPropertyHandlerFactory
focal_class.signature: JournalPropertyHandlerFactory getJournalPropertyHandlerFactory()
focal_class.class_method_signature: DocumentNodeStore.getUpdateLimit()
focal_class.full_signature:  int getUpdateLimit()
focal_class.identifier: getUpdateLimit
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getUpdateLimit()
focal_class.class_method_signature: DocumentNodeStore.isReadOnlyMode()
focal_class.full_signature:  boolean isReadOnlyMode()
focal_class.identifier: isReadOnlyMode
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isReadOnlyMode()
focal_method.body: public void dispose() {
          LOG.info("Starting disposal of DocumentNodeStore with clusterNodeId: {} ({})", clusterId,
                  getClusterNodeInfoDisplayString());
  
          if (isDisposed.getAndSet(true)) {
              // only dispose once
              return;
          }
  
          // notify background threads waiting on isDisposed
          synchronized (isDisposed) {
              isDisposed.notifyAll();
          }
  
          Utils.joinQuietly(backgroundReadThread,
                  backgroundUpdateThread,
                  backgroundSweepThread);
  
          DocumentStoreException ex = null;
  
          // create a tombstone commit revision after isDisposed is set to true.
          // commits created earlier than this revision will be able to finish
          // and we'll get a headOfQueue() callback when they are done
          // after this call there are no more pending trunk commits and
          // the commit queue is empty and stays empty
          if (!readOnlyMode) {
              try {
                  Revision tombstone = commitQueue.createRevision();
                  commitQueue.done(tombstone, new CommitQueue.Callback() {
                      @Override
                      public void headOfQueue(@NotNull Revision revision) {
                          setRoot(getHeadRevision().update(revision));
                          unsavedLastRevisions.put(ROOT, revision);
                      }
                  });
              } catch (DocumentStoreException e) {
                  LOG.error("dispose: a DocumentStoreException happened during dispose's attempt to commit a tombstone: " + e, e);
                  ex = e;
              }
          }
  
          try {
              bundlingConfigHandler.close();
          } catch (IOException e) {
              LOG.warn("Error closing bundlingConfigHandler", bundlingConfigHandler, e);
          }
  
          // do a final round of background operations after
          // the background thread stopped
          if (!readOnlyMode) {
              try {
                  // force a final background sweep to ensure there are
                  // no uncommitted changes up to the current head revision
                  internalRunBackgroundSweepOperation();
                  // push final changes to store, after this there must not
                  // be any more changes to documents in the nodes collection
                  internalRunBackgroundUpdateOperations();
              } catch (DocumentStoreException e) {
                  // OAK-3250 : when a lease check fails, subsequent modifying requests
                  // to the DocumentStore will throw an DocumentStoreException. Since as a result
                  // of a failing lease check a bundle.stop is done and thus a dispose of the
                  // DocumentNodeStore happens, it is very likely that in that case
                  // you run into an Exception. We should still continue with disposing
                  // though - thus catching and logging..
                  LOG.error("dispose: a DocumentStoreException happened during dispose's last background ops: " + e, e);
                  ex = e;
              }
          }
  
          Utils.joinQuietly(clusterUpdateThread);
  
          // Stop lease update thread once no further document store operations
          // are required
          LOG.debug("Stopping LeaseUpdate thread...");
          stopLeaseUpdateThread.set(true);
          synchronized (stopLeaseUpdateThread) {
              stopLeaseUpdateThread.notifyAll();
          }
          Utils.joinQuietly(leaseUpdateThread);
          LOG.debug("Stopped LeaseUpdate thread");
  
          // now mark this cluster node as inactive by disposing the
          // clusterNodeInfo, but only if final background operations
          // were successful
          if (ex == null) {
              clusterNodeInfo.dispose();
          }
  
          store.dispose();
  
          try {
              blobStore.close();
          } catch (Exception e) {
              LOG.debug("Error closing blob store " + blobStore, e);
          }
  
          if (persistentCache != null) {
              persistentCache.close();
          }
          if (journalCache != null) {
              journalCache.close();
          }
          String result = "(successful)";
          if (ex != null) {
              result = "(with exception: " + ex.toString() + ")";
          }
          LOG.info("Disposed DocumentNodeStore with clusterNodeId: {}, {}",
                  clusterId, result);
          if (ex != null) {
              throw ex;
          }
      }
focal_method.class_method_signature: DocumentNodeStore.dispose()
focal_method.full_signature: public void dispose()
focal_method.identifier: dispose
focal_method.invocations: info getClusterNodeInfoDisplayString getAndSet notifyAll joinQuietly createRevision done setRoot update getHeadRevision put error close warn internalRunBackgroundSweepOperation internalRunBackgroundUpdateOperations error joinQuietly debug set notifyAll joinQuietly debug dispose dispose close debug close close toString info
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void dispose()