Tabnine Logo
ActiveDeletedBlobCollectorFactory$ActiveDeletedBlobCollector.cancelBlobCollection
Code IndexAdd Tabnine to your IDE (free)

How to use
cancelBlobCollection
method
in
org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory$ActiveDeletedBlobCollector

Best Java code snippets using org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory$ActiveDeletedBlobCollector.cancelBlobCollection (Showing top 6 results out of 315)

origin: apache/jackrabbit-oak

@NotNull
@Override
public CompositeData cancelActiveCollection() {
  if (!gcOp.isDone()) {
    executor.execute(newManagementOperation(OP_NAME, (Callable<Void>) () -> {
      gcOp.cancel(false);
      activeDeletedBlobCollector.cancelBlobCollection();
      return null;
    }));
    return initiated(gcOp, "Active lucene index blobs collection cancelled").toCompositeData();
  } else {
    return failed(OP_NAME + " not running").toCompositeData();
  }
}
origin: org.apache.jackrabbit/oak-lucene

@NotNull
@Override
public CompositeData cancelActiveCollection() {
  if (!gcOp.isDone()) {
    executor.execute(newManagementOperation(OP_NAME, (Callable<Void>) () -> {
      gcOp.cancel(false);
      activeDeletedBlobCollector.cancelBlobCollection();
      return null;
    }));
    return initiated(gcOp, "Active lucene index blobs collection cancelled").toCompositeData();
  } else {
    return failed(OP_NAME + " not running").toCompositeData();
  }
}
origin: apache/jackrabbit-oak

@Test
public void resumeCancelledPurge() throws Exception {
  BlobDeletionCallback bdc = adbc.getBlobDeletionCallback();
  for (int i = 0; i < 10; i++) {
    String id = "Blob" + i;
    bdc.deleted(id, Collections.singleton(id));
  }
  bdc.commitProgress(COMMIT_SUCCEDED);
  Semaphore purgeBlocker = new Semaphore(0);
  blobStore.callback = () -> purgeBlocker.acquireUninterruptibly();
  Thread purgeThread = new Thread(() -> {
    try {
      adbc.purgeBlobsDeleted(clock.getTimeIncreasing(), blobStore);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  });
  purgeThread.setDaemon(true);
  purgeBlocker.release(10);//allow 5 deletes
  purgeThread.start();
  waitFor(5000, () -> blobStore.deletedChunkIds.size() >= 10);
  adbc.cancelBlobCollection();
  purgeBlocker.release(22);//release all that's there... this is more than needed, btw.
  waitFor(5000, () -> blobStore.deletedChunkIds.size() >= 12);
  waitFor(5000, () -> !purgeThread.isAlive());
  adbc.purgeBlobsDeleted(clock.getTimeIncreasing(), blobStore);
  // Resume can re-attempt to delete already deleted blobs. Hence, the need for for ">="
  assertEquals("All blobs must get deleted", 20, blobStore.deletedChunkIds.size());
}
origin: apache/jackrabbit-oak

@Test
public void cancellablePurge() throws Exception {
  BlobDeletionCallback bdc = adbc.getBlobDeletionCallback();
  for (int i = 0; i < 10; i++) {
    String id = "Blob" + i;
    bdc.deleted(id, Collections.singleton(id));
  }
  bdc.commitProgress(COMMIT_SUCCEDED);
  Semaphore purgeBlocker = new Semaphore(0);
  blobStore.callback = () -> purgeBlocker.acquireUninterruptibly();
  Thread purgeThread = new Thread(() -> {
    try {
      adbc.purgeBlobsDeleted(clock.getTimeIncreasing(), blobStore);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  });
  purgeThread.setDaemon(true);
  purgeBlocker.release(10);//allow 5 deletes
  purgeThread.start();
  boolean deleted5 = waitFor(5000, () -> blobStore.deletedChunkIds.size() >= 10);
  assertTrue("Deleted " + blobStore.deletedChunkIds.size() + " chunks", deleted5);
  adbc.cancelBlobCollection();
  purgeBlocker.release(20);//release all that's there... this is more than needed, btw.
  boolean deleted6 = waitFor(5000, () -> blobStore.deletedChunkIds.size() >= 12);
  assertTrue("Haven't deleted another blob which was locked earlier.", deleted6);
  boolean cancelWorked = waitFor(5000, () -> !purgeThread.isAlive());
  assertTrue("Cancel didn't let go of purge thread in 2 seconds", cancelWorked);
  assertTrue("Cancelling purge must return asap", blobStore.deletedChunkIds.size() == 12);
}
origin: apache/jackrabbit-oak

@Override
public void cancelBlobCollection() {
  ActiveDeletedBlobCollectorFactory.NOOP.cancelBlobCollection();
}
origin: apache/jackrabbit-oak

@Override
public void cancelBlobCollection() {
  delegate.cancelBlobCollection();
}
org.apache.jackrabbit.oak.plugins.index.lucene.directoryActiveDeletedBlobCollectorFactory$ActiveDeletedBlobCollectorcancelBlobCollection

Popular methods of ActiveDeletedBlobCollectorFactory$ActiveDeletedBlobCollector

  • flagActiveDeletionUnsafe
  • getBlobDeletionCallback
  • isActiveDeletionUnsafe
  • purgeBlobsDeleted

Popular in Java

  • Parsing JSON documents to java classes using gson
  • findViewById (Activity)
  • requestLocationUpdates (LocationManager)
  • startActivity (Activity)
  • File (java.io)
    An "abstract" representation of a file system entity identified by a pathname. The pathname may be a
  • InputStreamReader (java.io)
    A class for turning a byte stream into a character stream. Data read from the source input stream is
  • Collection (java.util)
    Collection is the root of the collection hierarchy. It defines operations on data collections and t
  • Modifier (javassist)
    The Modifier class provides static methods and constants to decode class and member access modifiers
  • HttpServlet (javax.servlet.http)
    Provides an abstract class to be subclassed to create an HTTP servlet suitable for a Web site. A sub
  • SAXParseException (org.xml.sax)
    Encapsulate an XML parse error or warning.> This module, both source code and documentation, is in t
  • Top Vim plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now