@Override public boolean deleteMetadataRecord(String name) { return delegate instanceof SharedDataStore && ((SharedDataStore) delegate).deleteMetadataRecord(name); }
@Override public boolean deleteMetadataRecord(String name) { return delegate instanceof SharedDataStore && ((SharedDataStore) delegate).deleteMetadataRecord(name); }
@Override public boolean deleteMetadataRecord(String name) { return delegate instanceof SharedDataStore && ((SharedDataStore) delegate).deleteMetadataRecord(name); }
datastore.deleteMetadataRecord(rec.getIdentifier().toString()); LOG.debug("Deleted metadata record {}", rec.getIdentifier().toString());
datastore.deleteMetadataRecord(rec.getIdentifier().toString()); LOG.debug("Deleted metadata record {}", rec.getIdentifier().toString());
datastore.deleteMetadataRecord(rec.getIdentifier().toString()); LOG.debug("Deleted metadata record {}", rec.getIdentifier().toString());
@Test public void testBackendDeleteMetadataRecord() throws DataStoreException { SharedDataStore fds = dataStore; fds.addMetadataRecord(randomStream(0, 10), "name"); for (String name : Lists.newArrayList("", null)) { if (Strings.isNullOrEmpty(name)) { try { fds.deleteMetadataRecord(name); } catch (IllegalArgumentException e) { } } else { fds.deleteMetadataRecord(name); fail(); } } assertTrue(fds.deleteMetadataRecord("name")); }
StringWriter writer = new StringWriter(); IOUtils.copy(record.getStream(), writer); fds.deleteMetadataRecord(entry.getKey()); assertTrue(writer.toString().equals(entry.getValue()));
@Test public void testBackendGetMetadataRecordInvalidName() throws DataStoreException { SharedDataStore fds = dataStore; fds.addMetadataRecord(randomStream(0, 10), "testRecord"); assertNull(fds.getMetadataRecord("invalid")); for (String name : Lists.newArrayList("", null)) { try { fds.getMetadataRecord(name); fail("Expect to throw"); } catch(Exception e) {} } fds.deleteMetadataRecord("testRecord"); }
@Test public void sharedGCRepositoryCloned() throws Exception { log.debug("Starting sharedGCRepoCloned()"); // Setup a different cluster/repository sharing the blob store and the repository id MemoryBlobStoreNodeStore secondClusterNodeStore = new MemoryBlobStoreNodeStore(cluster.blobStore); Cluster secondCluster = new Cluster(folder.newFolder(), cluster.blobStore, secondClusterNodeStore, 100); closer.register(secondCluster); ((SharedDataStore) secondCluster.blobStore).deleteMetadataRecord(REPOSITORY.getNameFromId(secondCluster.repoId)); secondCluster.setRepoId(cluster.repoId); Sets.SetView<String> totalPresent = Sets.union(cluster.blobStoreState.blobsPresent, secondCluster.blobStoreState.blobsPresent); // Execute mark on the default cluster executeGarbageCollection(cluster, cluster.getCollector(0), true); Set<String> existingAfterGC = executeGarbageCollection(secondCluster, secondCluster.getCollector(0), false); assertTrue(Sets.symmetricDifference(totalPresent, existingAfterGC).isEmpty()); }