@Test public void testMissingBlobGC() throws Exception { String key = "foo"; createBlob(key, "SomeContent"); removeAllBlobsFromBlobProvider(); tsp.doGC(); tsp.doGC(); }
@Override public void doGC() { BlobProvider bp = getBlobProvider(); BinaryGarbageCollector gc = bp.getBinaryGarbageCollector(); boolean delete = false; gc.start(); try { keyStream().map(this::getBlobKeys) .flatMap(Collection::stream) .forEach(gc::mark); delete = true; } finally { gc.stop(delete); } computeStorageSize(); }
KeyValueBlobTransientStore implements TransientStoreProvider { @Override public void doGC() { BlobProvider bp = getBlobProvider(); BinaryGarbageCollector gc = bp.getBinaryGarbageCollector(); boolean delete = false; gc.start(); try { keyStream().map(this::getBlobKeys) .flatMap(Collection::stream) .forEach(gc::mark); delete = true; } finally { gc.stop(delete); } computeStorageSize(); } }
KeyValueBlobTransientStore implements TransientStoreProvider { @Override public void doGC() { BlobProvider bp = getBlobProvider(); BinaryGarbageCollector gc = bp.getBinaryGarbageCollector(); boolean delete = false; gc.start(); try { keyStream().map(this::getBlobKeys) .flatMap(Collection::stream) .forEach(gc::mark); delete = true; } finally { gc.stop(delete); } computeStorageSize(); }  }
KeyValueBlobTransientStore implements TransientStoreProvider { @Override public void doGC() { BlobProvider bp = getBlobProvider(); BinaryGarbageCollector gc = bp.getBinaryGarbageCollector(); boolean delete = false; gc.start(); try { keyStream().map(this::getBlobKeys) .flatMap(Collection::stream) .forEach(gc::mark); delete = true; } finally { gc.stop(delete); } computeStorageSize(); }  @Override void init(TransientStoreConfig config); @Override void shutdown(); @Override Stream<String> keyStream(); @Override long getStorageSize(); @Override void doGC(); @Override void removeAll(); @Deprecated void atomicUpdate(String key, Function<String, String> updateFunction, long ttl); @Override boolean exists(String key); @Override void putParameter(String key, String parameter, Serializable value); @Override Serializable getParameter(String key, String parameter); @Override void putParameters(String key, Map<String, Serializable> parameters); @Override Map<String, Serializable> getParameters(String key); @Override void putBlobs(String key, List<Blob> blobs); @Override List<Blob> getBlobs(String key); @Override long getSize(String key); @Override boolean isCompleted(String key); @Override void setCompleted(String key, boolean completed); @Override void release(String key); @Override void remove(String key); }
KeyValueBlobTransientStore implements TransientStoreProvider { @Override public void doGC() { BlobProvider bp = getBlobProvider(); BinaryGarbageCollector gc = bp.getBinaryGarbageCollector(); boolean delete = false; gc.start(); try { keyStream().map(this::getBlobKeys) .flatMap(Collection::stream) .forEach(gc::mark); delete = true; } finally { gc.stop(delete); } computeStorageSize(); }  @Override void init(TransientStoreConfig config); @Override void shutdown(); @Override Stream<String> keyStream(); @Override long getStorageSize(); @Override void doGC(); @Override void removeAll(); @Deprecated void atomicUpdate(String key, Function<String, String> updateFunction, long ttl); @Override boolean exists(String key); @Override void putParameter(String key, String parameter, Serializable value); @Override Serializable getParameter(String key, String parameter); @Override void putParameters(String key, Map<String, Serializable> parameters); @Override Map<String, Serializable> getParameters(String key); @Override void putBlobs(String key, List<Blob> blobs); @Override List<Blob> getBlobs(String key); @Override long getSize(String key); @Override boolean isCompleted(String key); @Override void setCompleted(String key, boolean completed); @Override void release(String key); @Override void remove(String key); static final String SEP; static final String STORAGE_SIZE; static final String DOT_COMPLETED; static final String DOT_PARAMINFO; static final String DOT_PARAM_DOT; static final String FORMAT; static final String FORMAT_JAVA; static final String DOT_BLOBLOCK; static final String DOT_BLOBINFO; static final String COUNT; static final String SIZE; static final String DOT_BLOB_DOT; static final String KEY; static final String MIMETYPE; static final String ENCODING; static final String FILENAME; static final String LENGTH; static final String DIGEST; static final String CONFIG_KEY_VALUE_STORE; static final String CONFIG_BLOB_PROVIDER; static final String CONFIG_DEFAULT_BLOB_PROVIDER; static final String CONFIG_DEFAULT_BLOB_PROVIDER_DEFAULT; }