static BlobFactory getBlobStoreBlobFactory(final BlobStore store) { return in -> { String blobId; if (!ENABLE_ASYNC_DS) { blobId = store.writeBlob(in, new BlobOptions().setUpload(SYNCHRONOUS)); } else { blobId = store.writeBlob(in); } return new BlobStoreBlob(store, blobId); }; } }
static BlobFactory getBlobStoreBlobFactory(final BlobStore store) { return in -> { String blobId; if (!ENABLE_ASYNC_DS) { blobId = store.writeBlob(in, new BlobOptions().setUpload(SYNCHRONOUS)); } else { blobId = store.writeBlob(in); } return new BlobStoreBlob(store, blobId); }; } }
@Override protected DataRecord doSynchronousAddRecord(DataStore ds, InputStream in) throws DataStoreException { return ((AzureDataStore)ds).addRecord(in, new BlobOptions().setUpload(BlobOptions.UploadType.SYNCHRONOUS)); }
@Override protected DataRecord doSynchronousAddRecord(DataStore ds, InputStream in) throws DataStoreException { return ((S3DataStore)ds).addRecord(in, new BlobOptions().setUpload(BlobOptions.UploadType.SYNCHRONOUS)); }
/** * Add, get forcing load in cache. * @throws Exception */ @Test public void syncAddGetLoadCache() throws Exception { LOG.info("Starting syncAddGetForceFromCache"); File f = copyToFile(randomStream(0, 4 * 1024), folder.newFile()); String id = getIdForInputStream(f); FileInputStream fin = new FileInputStream(f); closer.register(fin); DataRecord rec = dataStore.addRecord(fin, new BlobOptions().setUpload(SYNCHRONOUS)); assertEquals(id, rec.getIdentifier().toString()); assertFile(rec.getStream(), f, folder); // Invalidate from the local cache dataStore.getCache().invalidate(id); // Trigger load from backend File cacheDownloaded = dataStore.getCache().get(id); assertTrue(Files.equal(f, cacheDownloaded)); assertEquals(1, Iterators.size(dataStore.getAllIdentifiers())); LOG.info("Finished syncAddGetLoadCache"); }
/** * Add, get, delete with synchronous option. * @throws Exception */ @Test public void syncAddGetDelete() throws Exception { LOG.info("Starting syncAddGetDelete"); File f = copyToFile(randomStream(0, 4 * 1024), folder.newFile()); String id = getIdForInputStream(f); FileInputStream fin = new FileInputStream(f); closer.register(fin); DataRecord rec = dataStore.addRecord(fin, new BlobOptions().setUpload(SYNCHRONOUS)); assertEquals(id, rec.getIdentifier().toString()); assertFile(rec.getStream(), f, folder); rec = dataStore.getRecordIfStored(new DataIdentifier(id)); assertEquals(id, rec.getIdentifier().toString()); assertFile(rec.getStream(), f, folder); assertEquals(1, Iterators.size(dataStore.getAllIdentifiers())); dataStore.deleteRecord(new DataIdentifier(id)); rec = dataStore.getRecordIfStored(new DataIdentifier(id)); assertNull(rec); LOG.info("Finished syncAddGetDelete"); }