Search in sources :

Example 6 with BlobDeletionCallback

use of org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.BlobDeletionCallback in project jackrabbit-oak by apache.

the class ActiveDeletedBlobCollectorTest method deleteBlobsDespiteFileExplicitlyPurgedBeforeRestart.

@Test
public void deleteBlobsDespiteFileExplicitlyPurgedBeforeRestart() throws Exception {
    BlobDeletionCallback bdc = adbc.getBlobDeletionCallback();
    bdc.deleted("blobId1", Collections.singleton("/a"));
    bdc.commitProgress(COMMIT_SUCCEDED);
    clock.waitUntil(clock.getTime() + TimeUnit.MINUTES.toMillis(1));
    createBlobCollector();
    bdc = adbc.getBlobDeletionCallback();
    bdc.deleted("blobId2", Collections.singleton("/b"));
    bdc.commitProgress(COMMIT_SUCCEDED);
    clock.waitUntil(clock.getTime() + TimeUnit.MINUTES.toMillis(1));
    createBlobCollector();
    bdc = adbc.getBlobDeletionCallback();
    bdc.deleted("blobId3", Collections.singleton("/c"));
    bdc.commitProgress(COMMIT_SUCCEDED);
    adbc.purgeBlobsDeleted(clock.getTimeIncreasing(), blobStore);
    verifyBlobsDeleted("blobId1", "blobId2", "blobId3");
}
Also used : BlobDeletionCallback(org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.BlobDeletionCallback) Test(org.junit.Test)

Example 7 with BlobDeletionCallback

use of org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.BlobDeletionCallback in project jackrabbit-oak by apache.

the class ActiveDeletedBlobCollectorTest method uncommittedDeletionsMustNotBePurged.

@Test
public void uncommittedDeletionsMustNotBePurged() throws Exception {
    BlobDeletionCallback bdc1 = adbc.getBlobDeletionCallback();
    bdc1.deleted("blobId1", Collections.singleton("/a"));
    bdc1.commitProgress(COMMIT_FAILED);
    BlobDeletionCallback bdc2 = adbc.getBlobDeletionCallback();
    bdc2.deleted("blobId2", Collections.singleton("/b"));
    bdc2.commitProgress(COMMIT_SUCCEDED);
    adbc.purgeBlobsDeleted(clock.getTimeIncreasing(), blobStore);
    //blobId2 is committed later
    verifyBlobsDeleted("blobId2");
}
Also used : BlobDeletionCallback(org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.BlobDeletionCallback) Test(org.junit.Test)

Aggregations

BlobDeletionCallback (org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.BlobDeletionCallback)7 Test (org.junit.Test)6 File (java.io.File)1 ArrayList (java.util.ArrayList)1 ExecutorService (java.util.concurrent.ExecutorService)1 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 CommitFailedException (org.apache.jackrabbit.oak.api.CommitFailedException)1 ContextAwareCallback (org.apache.jackrabbit.oak.plugins.index.ContextAwareCallback)1 IndexingContext (org.apache.jackrabbit.oak.plugins.index.IndexingContext)1 LocalIndexWriterFactory (org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.LocalIndexWriterFactory)1 DefaultIndexWriterFactory (org.apache.jackrabbit.oak.plugins.index.lucene.writer.DefaultIndexWriterFactory)1 LuceneIndexWriterFactory (org.apache.jackrabbit.oak.plugins.index.lucene.writer.LuceneIndexWriterFactory)1 CommitContext (org.apache.jackrabbit.oak.spi.commit.CommitContext)1 ReadOnlyBuilder (org.apache.jackrabbit.oak.spi.state.ReadOnlyBuilder)1