test_class.declarator: executor = Executors.newSingleThreadScheduledExecutor()
test_class.modifier: private
test_class.original_string: private ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
test_class.type: ScheduledExecutorService
test_class.var_name: executor
test_class.declarator: statsProvider =
              new MetricStatisticsProvider(ManagementFactory.getPlatformMBeanServer(),executor)
test_class.modifier: private
test_class.original_string: private MetricStatisticsProvider statsProvider =
              new MetricStatisticsProvider(ManagementFactory.getPlatformMBeanServer(),executor);
test_class.type: MetricStatisticsProvider
test_class.var_name: statsProvider
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java
test_class.identifier: AsyncIndexUpdateTest
test_case.body: @Test
      public void cpCleanupWChanges() throws Exception {
          MemoryNodeStore store = new MemoryNodeStore();
          IndexEditorProvider provider = new PropertyIndexEditorProvider();
  
          NodeBuilder builder = store.getRoot().builder();
          createIndexDefinition(builder.child(INDEX_DEFINITIONS_NAME),
                  "rootIndex", true, false, ImmutableSet.of("foo"), null)
                  .setProperty(ASYNC_PROPERTY_NAME, "async");
          builder.child("testRoot").setProperty("foo", "abc");
          store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
  
          assertTrue("Expecting no checkpoints",
                  store.listCheckpoints().size() == 0);
  
          AsyncIndexUpdate async = new AsyncIndexUpdate("async", store, provider);
          async.run();
          assertTrue("Expecting one checkpoint",
                  store.listCheckpoints().size() == 1);
          String firstCp = store.listCheckpoints().iterator().next();
  
          builder = store.getRoot().builder();
          builder.child("testRoot").setProperty("foo", "def");
          store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
  
          async.run();
          assertTrue("Expecting one checkpoint",
                  store.listCheckpoints().size() == 1);
          String secondCp = store.listCheckpoints().iterator().next();
          assertFalse("Store should keep only second checkpoint",
                  secondCp.equals(firstCp));
          assertEquals(
                  secondCp,
                  store.getRoot().getChildNode(ASYNC)
                          .getString("async"));
      }
test_case.class_method_signature: AsyncIndexUpdateTest.cpCleanupWChanges()
test_case.full_signature: @Test public void cpCleanupWChanges()
test_case.identifier: cpCleanupWChanges
test_case.invocations: builder getRoot setProperty createIndexDefinition child of setProperty child merge assertTrue size listCheckpoints run assertTrue size listCheckpoints next iterator listCheckpoints builder getRoot setProperty child merge run assertTrue size listCheckpoints next iterator listCheckpoints assertFalse equals assertEquals getString getChildNode getRoot
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void cpCleanupWChanges()
focal_class.declarator: PROP_ASYNC_NAME = "oak.async"
focal_class.modifier: public static final
focal_class.original_string: public static final String PROP_ASYNC_NAME = "oak.async";
focal_class.type: String
focal_class.var_name: PROP_ASYNC_NAME
focal_class.declarator: log = LoggerFactory
              .getLogger(AsyncIndexUpdate.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory
              .getLogger(AsyncIndexUpdate.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: ASYNC = ":async"
focal_class.modifier: static final
focal_class.original_string: static final String ASYNC = ":async";
focal_class.type: String
focal_class.var_name: ASYNC
focal_class.declarator: DEFAULT_LIFETIME = TimeUnit.DAYS.toMillis(1000)
focal_class.modifier: private static final
focal_class.original_string: private static final long DEFAULT_LIFETIME = TimeUnit.DAYS.toMillis(1000);
focal_class.type: long
focal_class.var_name: DEFAULT_LIFETIME
focal_class.declarator: INTERRUPTED = new CommitFailedException(
              "Async", 1, "Indexing stopped forcefully")
focal_class.modifier: private static final
focal_class.original_string: private static final CommitFailedException INTERRUPTED = new CommitFailedException(
              "Async", 1, "Indexing stopped forcefully");
focal_class.type: CommitFailedException
focal_class.var_name: INTERRUPTED
focal_class.declarator: DEFAULT_ASYNC_TIMEOUT = TimeUnit.MINUTES.toMillis(
              Integer.getInteger("oak.async.lease.timeout", 15))
focal_class.modifier: private static final
focal_class.original_string: private static final long DEFAULT_ASYNC_TIMEOUT = TimeUnit.MINUTES.toMillis(
              Integer.getInteger("oak.async.lease.timeout", 15));
focal_class.type: long
focal_class.var_name: DEFAULT_ASYNC_TIMEOUT
focal_class.declarator: name
focal_class.modifier: private final
focal_class.original_string: private final String name;
focal_class.type: String
focal_class.var_name: name
focal_class.declarator: store
focal_class.modifier: private final
focal_class.original_string: private final NodeStore store;
focal_class.type: NodeStore
focal_class.var_name: store
focal_class.declarator: provider
focal_class.modifier: private final
focal_class.original_string: private final IndexEditorProvider provider;
focal_class.type: IndexEditorProvider
focal_class.var_name: provider
focal_class.declarator: lastIndexedTo
focal_class.modifier: private final
focal_class.original_string: private final String lastIndexedTo;
focal_class.type: String
focal_class.var_name: lastIndexedTo
focal_class.declarator: lifetime = DEFAULT_LIFETIME
focal_class.modifier: private final
focal_class.original_string: private final long lifetime = DEFAULT_LIFETIME;
focal_class.type: long
focal_class.var_name: lifetime
focal_class.declarator: indexStats
focal_class.modifier: private final
focal_class.original_string: private final AsyncIndexStats indexStats;
focal_class.type: AsyncIndexStats
focal_class.var_name: indexStats
focal_class.declarator: switchOnSync
focal_class.modifier: private final
focal_class.original_string: private final boolean switchOnSync;
focal_class.type: boolean
focal_class.var_name: switchOnSync
focal_class.declarator: reindexedDefinitions = new HashSet<String>()
focal_class.modifier: private final
focal_class.original_string: private final Set<String> reindexedDefinitions = new HashSet<String>();
focal_class.type: Set<String>
focal_class.var_name: reindexedDefinitions
focal_class.declarator: missingStrategy = new DefaultMissingIndexProviderStrategy()
focal_class.modifier: private final
focal_class.original_string: private final MissingIndexProviderStrategy missingStrategy = new DefaultMissingIndexProviderStrategy();
focal_class.type: MissingIndexProviderStrategy
focal_class.var_name: missingStrategy
focal_class.declarator: taskSplitter = new IndexTaskSpliter()
focal_class.modifier: private final
focal_class.original_string: private final IndexTaskSpliter taskSplitter = new IndexTaskSpliter();
focal_class.type: IndexTaskSpliter
focal_class.var_name: taskSplitter
focal_class.declarator: runPermit = new Semaphore(1)
focal_class.modifier: private final
focal_class.original_string: private final Semaphore runPermit = new Semaphore(1);
focal_class.type: Semaphore
focal_class.var_name: runPermit
focal_class.declarator: forcedStopFlag = new AtomicBoolean()
focal_class.modifier: private final
focal_class.original_string: private final AtomicBoolean forcedStopFlag = new AtomicBoolean();
focal_class.type: AtomicBoolean
focal_class.var_name: forcedStopFlag
focal_class.declarator: mbeanRegistration
focal_class.modifier: private
focal_class.original_string: private IndexMBeanRegistration mbeanRegistration;
focal_class.type: IndexMBeanRegistration
focal_class.var_name: mbeanRegistration
focal_class.declarator: leaseTimeOut
focal_class.modifier: private
focal_class.original_string: private long leaseTimeOut;
focal_class.type: long
focal_class.var_name: leaseTimeOut
focal_class.declarator: ERROR_WARN_INTERVAL = TimeUnit.MINUTES.toMillis(Integer
              .getInteger("oak.async.warn.interval", 30))
focal_class.modifier: private static
focal_class.original_string: private static long ERROR_WARN_INTERVAL = TimeUnit.MINUTES.toMillis(Integer
              .getInteger("oak.async.warn.interval", 30));
focal_class.type: long
focal_class.var_name: ERROR_WARN_INTERVAL
focal_class.declarator: softTimeOutSecs = Integer.getInteger("oak.async.softTimeOutSecs", 2 * 60)
focal_class.modifier: private
focal_class.original_string: private int softTimeOutSecs = Integer.getInteger("oak.async.softTimeOutSecs", 2 * 60);
focal_class.type: int
focal_class.var_name: softTimeOutSecs
focal_class.declarator: closed
focal_class.modifier: private
focal_class.original_string: private boolean closed;
focal_class.type: boolean
focal_class.var_name: closed
focal_class.declarator: cleanupIntervalMinutes
              = Integer.getInteger("oak.async.checkpointCleanupIntervalMinutes", 5)
focal_class.modifier: private final
focal_class.original_string: private final int cleanupIntervalMinutes
              = Integer.getInteger("oak.async.checkpointCleanupIntervalMinutes", 5);
focal_class.type: int
focal_class.var_name: cleanupIntervalMinutes
focal_class.declarator: lastCheckpointCleanUpTime
focal_class.modifier: private
focal_class.original_string: private long lastCheckpointCleanUpTime;
focal_class.type: long
focal_class.var_name: lastCheckpointCleanUpTime
focal_class.declarator: validatorProviders = Collections.emptyList()
focal_class.modifier: private
focal_class.original_string: private List<ValidatorProvider> validatorProviders = Collections.emptyList();
focal_class.type: List<ValidatorProvider>
focal_class.var_name: validatorProviders
focal_class.declarator: corruptIndexHandler = new TrackingCorruptIndexHandler()
focal_class.modifier: private
focal_class.original_string: private TrackingCorruptIndexHandler corruptIndexHandler = new TrackingCorruptIndexHandler();
focal_class.type: TrackingCorruptIndexHandler
focal_class.var_name: corruptIndexHandler
focal_class.declarator: statisticsProvider
focal_class.modifier: private final
focal_class.original_string: private final StatisticsProvider statisticsProvider;
focal_class.type: StatisticsProvider
focal_class.var_name: statisticsProvider
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
focal_class.identifier: AsyncIndexUpdate
focal_class.interfaces: implements Runnable, Closeable
focal_class.class_method_signature: AsyncIndexUpdate.AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider, boolean switchOnSync)
focal_class.full_signature: public  AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider, boolean switchOnSync)
focal_class.identifier: AsyncIndexUpdate
focal_class.modifiers: public
focal_class.parameters: (@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider, boolean switchOnSync)
focal_class.signature:  AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider, boolean switchOnSync)
focal_class.class_method_signature: AsyncIndexUpdate.AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider, StatisticsProvider statsProvider, boolean switchOnSync)
focal_class.full_signature: public  AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider, StatisticsProvider statsProvider, boolean switchOnSync)
focal_class.identifier: AsyncIndexUpdate
focal_class.modifiers: public
focal_class.parameters: (@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider, StatisticsProvider statsProvider, boolean switchOnSync)
focal_class.signature:  AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider, StatisticsProvider statsProvider, boolean switchOnSync)
focal_class.class_method_signature: AsyncIndexUpdate.AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider)
focal_class.full_signature: public  AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider)
focal_class.identifier: AsyncIndexUpdate
focal_class.modifiers: public
focal_class.parameters: (@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider)
focal_class.signature:  AsyncIndexUpdate(@NotNull String name, @NotNull NodeStore store,
                              @NotNull IndexEditorProvider provider)
focal_class.class_method_signature: AsyncIndexUpdate.checkValidName(String asyncName)
focal_class.full_signature: public static String checkValidName(String asyncName)
focal_class.identifier: checkValidName
focal_class.modifiers: public static
focal_class.parameters: (String asyncName)
focal_class.return: String
focal_class.signature: String checkValidName(String asyncName)
focal_class.class_method_signature: AsyncIndexUpdate.isAsyncLaneName(String asyncName)
focal_class.full_signature: public static boolean isAsyncLaneName(String asyncName)
focal_class.identifier: isAsyncLaneName
focal_class.modifiers: public static
focal_class.parameters: (String asyncName)
focal_class.return: boolean
focal_class.signature: boolean isAsyncLaneName(String asyncName)
focal_class.class_method_signature: AsyncIndexUpdate.run()
focal_class.full_signature: @Override public synchronized void run()
focal_class.identifier: run
focal_class.modifiers: @Override public synchronized
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void run()
focal_class.class_method_signature: AsyncIndexUpdate.close()
focal_class.full_signature: @Override public void close()
focal_class.identifier: close
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void close()
focal_class.class_method_signature: AsyncIndexUpdate.runWhenPermitted()
focal_class.full_signature: private void runWhenPermitted()
focal_class.identifier: runWhenPermitted
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void runWhenPermitted()
focal_class.class_method_signature: AsyncIndexUpdate.markFailingIndexesAsCorrupt(NodeBuilder builder)
focal_class.full_signature: private void markFailingIndexesAsCorrupt(NodeBuilder builder)
focal_class.identifier: markFailingIndexesAsCorrupt
focal_class.modifiers: private
focal_class.parameters: (NodeBuilder builder)
focal_class.return: void
focal_class.signature: void markFailingIndexesAsCorrupt(NodeBuilder builder)
focal_class.class_method_signature: AsyncIndexUpdate.childBuilder(NodeBuilder nb, String path)
focal_class.full_signature: private static NodeBuilder childBuilder(NodeBuilder nb, String path)
focal_class.identifier: childBuilder
focal_class.modifiers: private static
focal_class.parameters: (NodeBuilder nb, String path)
focal_class.return: NodeBuilder
focal_class.signature: NodeBuilder childBuilder(NodeBuilder nb, String path)
focal_class.class_method_signature: AsyncIndexUpdate.maybeCleanUpCheckpoints()
focal_class.full_signature: private void maybeCleanUpCheckpoints()
focal_class.identifier: maybeCleanUpCheckpoints
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void maybeCleanUpCheckpoints()
focal_class.class_method_signature: AsyncIndexUpdate.cleanUpCheckpoints()
focal_class.full_signature:  void cleanUpCheckpoints()
focal_class.identifier: cleanUpCheckpoints
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void cleanUpCheckpoints()
focal_class.class_method_signature: AsyncIndexUpdate.newAsyncUpdateCallback(NodeStore store,
                                                           String name, long leaseTimeOut, String beforeCheckpoint,
                                                           AsyncIndexStats indexStats,
                                                           AtomicBoolean stopFlag)
focal_class.full_signature: protected AsyncUpdateCallback newAsyncUpdateCallback(NodeStore store,
                                                           String name, long leaseTimeOut, String beforeCheckpoint,
                                                           AsyncIndexStats indexStats,
                                                           AtomicBoolean stopFlag)
focal_class.identifier: newAsyncUpdateCallback
focal_class.modifiers: protected
focal_class.parameters: (NodeStore store,
                                                           String name, long leaseTimeOut, String beforeCheckpoint,
                                                           AsyncIndexStats indexStats,
                                                           AtomicBoolean stopFlag)
focal_class.return: AsyncUpdateCallback
focal_class.signature: AsyncUpdateCallback newAsyncUpdateCallback(NodeStore store,
                                                           String name, long leaseTimeOut, String beforeCheckpoint,
                                                           AsyncIndexStats indexStats,
                                                           AtomicBoolean stopFlag)
focal_class.class_method_signature: AsyncIndexUpdate.updateIndex(NodeState before, String beforeCheckpoint,
                                    NodeState after, String afterCheckpoint, String afterTime,
                                    AsyncUpdateCallback callback)
focal_class.full_signature: protected boolean updateIndex(NodeState before, String beforeCheckpoint,
                                    NodeState after, String afterCheckpoint, String afterTime,
                                    AsyncUpdateCallback callback)
focal_class.identifier: updateIndex
focal_class.modifiers: protected
focal_class.parameters: (NodeState before, String beforeCheckpoint,
                                    NodeState after, String afterCheckpoint, String afterTime,
                                    AsyncUpdateCallback callback)
focal_class.return: boolean
focal_class.signature: boolean updateIndex(NodeState before, String beforeCheckpoint,
                                    NodeState after, String afterCheckpoint, String afterTime,
                                    AsyncUpdateCallback callback)
focal_class.class_method_signature: AsyncIndexUpdate.configureRateEstimator(IndexUpdate indexUpdate)
focal_class.full_signature: private void configureRateEstimator(IndexUpdate indexUpdate)
focal_class.identifier: configureRateEstimator
focal_class.modifiers: private
focal_class.parameters: (IndexUpdate indexUpdate)
focal_class.return: void
focal_class.signature: void configureRateEstimator(IndexUpdate indexUpdate)
focal_class.class_method_signature: AsyncIndexUpdate.leasify(String name)
focal_class.full_signature: public static String leasify(String name)
focal_class.identifier: leasify
focal_class.modifiers: public static
focal_class.parameters: (String name)
focal_class.return: String
focal_class.signature: String leasify(String name)
focal_class.class_method_signature: AsyncIndexUpdate.lastIndexedTo(String name)
focal_class.full_signature: static String lastIndexedTo(String name)
focal_class.identifier: lastIndexedTo
focal_class.modifiers: static
focal_class.parameters: (String name)
focal_class.return: String
focal_class.signature: String lastIndexedTo(String name)
focal_class.class_method_signature: AsyncIndexUpdate.getTempCpName(String name)
focal_class.full_signature: private static String getTempCpName(String name)
focal_class.identifier: getTempCpName
focal_class.modifiers: private static
focal_class.parameters: (String name)
focal_class.return: String
focal_class.signature: String getTempCpName(String name)
focal_class.class_method_signature: AsyncIndexUpdate.isLeaseCheckEnabled(long leaseTimeOut)
focal_class.full_signature: private static boolean isLeaseCheckEnabled(long leaseTimeOut)
focal_class.identifier: isLeaseCheckEnabled
focal_class.modifiers: private static
focal_class.parameters: (long leaseTimeOut)
focal_class.return: boolean
focal_class.signature: boolean isLeaseCheckEnabled(long leaseTimeOut)
focal_class.class_method_signature: AsyncIndexUpdate.mergeWithConcurrencyCheck(final NodeStore store, List<ValidatorProvider> validatorProviders,
                                                    NodeBuilder builder, final String checkpoint, final Long lease,
                                                    final String name)
focal_class.full_signature: private static void mergeWithConcurrencyCheck(final NodeStore store, List<ValidatorProvider> validatorProviders,
                                                    NodeBuilder builder, final String checkpoint, final Long lease,
                                                    final String name)
focal_class.identifier: mergeWithConcurrencyCheck
focal_class.modifiers: private static
focal_class.parameters: (final NodeStore store, List<ValidatorProvider> validatorProviders,
                                                    NodeBuilder builder, final String checkpoint, final Long lease,
                                                    final String name)
focal_class.return: void
focal_class.signature: void mergeWithConcurrencyCheck(final NodeStore store, List<ValidatorProvider> validatorProviders,
                                                    NodeBuilder builder, final String checkpoint, final Long lease,
                                                    final String name)
focal_class.class_method_signature: AsyncIndexUpdate.createCommitInfo()
focal_class.full_signature: private static CommitInfo createCommitInfo()
focal_class.identifier: createCommitInfo
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: CommitInfo
focal_class.signature: CommitInfo createCommitInfo()
focal_class.class_method_signature: AsyncIndexUpdate.setLeaseTimeOut(long leaseTimeOut)
focal_class.full_signature: protected AsyncIndexUpdate setLeaseTimeOut(long leaseTimeOut)
focal_class.identifier: setLeaseTimeOut
focal_class.modifiers: protected
focal_class.parameters: (long leaseTimeOut)
focal_class.return: AsyncIndexUpdate
focal_class.signature: AsyncIndexUpdate setLeaseTimeOut(long leaseTimeOut)
focal_class.class_method_signature: AsyncIndexUpdate.getLeaseTimeOut()
focal_class.full_signature: protected long getLeaseTimeOut()
focal_class.identifier: getLeaseTimeOut
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getLeaseTimeOut()
focal_class.class_method_signature: AsyncIndexUpdate.setCloseTimeOut(int timeOutInSec)
focal_class.full_signature: protected AsyncIndexUpdate setCloseTimeOut(int timeOutInSec)
focal_class.identifier: setCloseTimeOut
focal_class.modifiers: protected
focal_class.parameters: (int timeOutInSec)
focal_class.return: AsyncIndexUpdate
focal_class.signature: AsyncIndexUpdate setCloseTimeOut(int timeOutInSec)
focal_class.class_method_signature: AsyncIndexUpdate.setValidatorProviders(List<ValidatorProvider> validatorProviders)
focal_class.full_signature: public void setValidatorProviders(List<ValidatorProvider> validatorProviders)
focal_class.identifier: setValidatorProviders
focal_class.modifiers: public
focal_class.parameters: (List<ValidatorProvider> validatorProviders)
focal_class.return: void
focal_class.signature: void setValidatorProviders(List<ValidatorProvider> validatorProviders)
focal_class.class_method_signature: AsyncIndexUpdate.setCorruptIndexHandler(TrackingCorruptIndexHandler corruptIndexHandler)
focal_class.full_signature: public void setCorruptIndexHandler(TrackingCorruptIndexHandler corruptIndexHandler)
focal_class.identifier: setCorruptIndexHandler
focal_class.modifiers: public
focal_class.parameters: (TrackingCorruptIndexHandler corruptIndexHandler)
focal_class.return: void
focal_class.signature: void setCorruptIndexHandler(TrackingCorruptIndexHandler corruptIndexHandler)
focal_class.class_method_signature: AsyncIndexUpdate.getCorruptIndexHandler()
focal_class.full_signature:  TrackingCorruptIndexHandler getCorruptIndexHandler()
focal_class.identifier: getCorruptIndexHandler
focal_class.parameters: ()
focal_class.return: TrackingCorruptIndexHandler
focal_class.signature: TrackingCorruptIndexHandler getCorruptIndexHandler()
focal_class.class_method_signature: AsyncIndexUpdate.isClosed()
focal_class.full_signature: public boolean isClosed()
focal_class.identifier: isClosed
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isClosed()
focal_class.class_method_signature: AsyncIndexUpdate.isClosing()
focal_class.full_signature:  boolean isClosing()
focal_class.identifier: isClosing
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isClosing()
focal_class.class_method_signature: AsyncIndexUpdate.preAsyncRunStatsStats(AsyncIndexStats stats)
focal_class.full_signature: private static void preAsyncRunStatsStats(AsyncIndexStats stats)
focal_class.identifier: preAsyncRunStatsStats
focal_class.modifiers: private static
focal_class.parameters: (AsyncIndexStats stats)
focal_class.return: void
focal_class.signature: void preAsyncRunStatsStats(AsyncIndexStats stats)
focal_class.class_method_signature: AsyncIndexUpdate.postAsyncRunStatsStatus(AsyncIndexStats stats)
focal_class.full_signature: private static void postAsyncRunStatsStatus(AsyncIndexStats stats)
focal_class.identifier: postAsyncRunStatsStatus
focal_class.modifiers: private static
focal_class.parameters: (AsyncIndexStats stats)
focal_class.return: void
focal_class.signature: void postAsyncRunStatsStatus(AsyncIndexStats stats)
focal_class.class_method_signature: AsyncIndexUpdate.now()
focal_class.full_signature: private static String now()
focal_class.identifier: now
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String now()
focal_class.class_method_signature: AsyncIndexUpdate.getIndexStats()
focal_class.full_signature: public AsyncIndexStats getIndexStats()
focal_class.identifier: getIndexStats
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: AsyncIndexStats
focal_class.signature: AsyncIndexStats getIndexStats()
focal_class.class_method_signature: AsyncIndexUpdate.isFinished()
focal_class.full_signature: public boolean isFinished()
focal_class.identifier: isFinished
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isFinished()
focal_class.class_method_signature: AsyncIndexUpdate.noVisibleChanges(NodeState before, NodeState after)
focal_class.full_signature: private static boolean noVisibleChanges(NodeState before, NodeState after)
focal_class.identifier: noVisibleChanges
focal_class.modifiers: private static
focal_class.parameters: (NodeState before, NodeState after)
focal_class.return: boolean
focal_class.signature: boolean noVisibleChanges(NodeState before, NodeState after)
focal_class.class_method_signature: AsyncIndexUpdate.isHidden(String name)
focal_class.full_signature: private static boolean isHidden(String name)
focal_class.identifier: isHidden
focal_class.modifiers: private static
focal_class.parameters: (String name)
focal_class.return: boolean
focal_class.signature: boolean isHidden(String name)
focal_class.class_method_signature: AsyncIndexUpdate.isFailing()
focal_class.full_signature: public boolean isFailing()
focal_class.identifier: isFailing
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isFailing()
focal_class.class_method_signature: AsyncIndexUpdate.getStrings(NodeBuilder b, String p)
focal_class.full_signature: private static Iterable<String> getStrings(NodeBuilder b, String p)
focal_class.identifier: getStrings
focal_class.modifiers: private static
focal_class.parameters: (NodeBuilder b, String p)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> getStrings(NodeBuilder b, String p)
focal_class.class_method_signature: AsyncIndexUpdate.getTaskSplitter()
focal_class.full_signature:  IndexTaskSpliter getTaskSplitter()
focal_class.identifier: getTaskSplitter
focal_class.parameters: ()
focal_class.return: IndexTaskSpliter
focal_class.signature: IndexTaskSpliter getTaskSplitter()
focal_class.class_method_signature: AsyncIndexUpdate.setIndexMBeanRegistration(IndexMBeanRegistration mbeanRegistration)
focal_class.full_signature: public void setIndexMBeanRegistration(IndexMBeanRegistration mbeanRegistration)
focal_class.identifier: setIndexMBeanRegistration
focal_class.modifiers: public
focal_class.parameters: (IndexMBeanRegistration mbeanRegistration)
focal_class.return: void
focal_class.signature: void setIndexMBeanRegistration(IndexMBeanRegistration mbeanRegistration)
focal_class.class_method_signature: AsyncIndexUpdate.getName()
focal_class.full_signature: public String getName()
focal_class.identifier: getName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: AsyncIndexUpdate.newConcurrentUpdateException()
focal_class.full_signature: private static CommitFailedException newConcurrentUpdateException()
focal_class.identifier: newConcurrentUpdateException
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: CommitFailedException
focal_class.signature: CommitFailedException newConcurrentUpdateException()
focal_method.body: @Override
      public synchronized void run() {
          boolean permitAcquired = false;
          try{
              if (runPermit.tryAcquire()){
                  permitAcquired = true;
                  runWhenPermitted();
              } else {
                  log.warn("[{}] Could not acquire run permit. Stop flag set to [{}] Skipping the run", name, forcedStopFlag);
              }
          } finally {
              if (permitAcquired){
                  runPermit.release();
              }
          }
      }
focal_method.class_method_signature: AsyncIndexUpdate.run()
focal_method.full_signature: @Override public synchronized void run()
focal_method.identifier: run
focal_method.invocations: tryAcquire runWhenPermitted warn release
focal_method.modifiers: @Override public synchronized
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void run()