} finally { if (iterator != null) { iterator.close();
} finally { if (iterator != null) { iterator.close();
} finally { if (iterator != null) { iterator.close();
@Override public int filter(GarbageCollectableBlobStore blobStore, FileLineDifferenceIterator iter, GarbageCollectorFileState fs) throws IOException { // Write the original candidates FileIOUtils.writeStrings(iter, fs.getGcCandidates(), true); // Filter the ids actively deleted BlobTrackingStore store = (BlobTrackingStore) blobStore; BlobIdTracker tracker = (BlobIdTracker) store.getTracker(); // Move the candidates identified to a temp file File candTemp = createTempFile("candTemp", null); copyFile(fs.getGcCandidates(), candTemp); Iterator<String> filter = tracker.getDeleteTracker().filter(candTemp); try { return FileIOUtils.writeStrings(filter, fs.getGcCandidates(), true); } finally { if (filter != null && filter instanceof FileLineDifferenceIterator) { ((FileLineDifferenceIterator) filter).close(); } if (candTemp != null) { candTemp.delete(); } } } },
@Override public int filter(GarbageCollectableBlobStore blobStore, FileLineDifferenceIterator iter, GarbageCollectorFileState fs) throws IOException { // Write the original candidates FileIOUtils.writeStrings(iter, fs.getGcCandidates(), true); // Filter the ids actively deleted BlobTrackingStore store = (BlobTrackingStore) blobStore; BlobIdTracker tracker = (BlobIdTracker) store.getTracker(); // Move the candidates identified to a temp file File candTemp = createTempFile("candTemp", null); copyFile(fs.getGcCandidates(), candTemp); Iterator<String> filter = tracker.getDeleteTracker().filter(candTemp); try { return FileIOUtils.writeStrings(filter, fs.getGcCandidates(), true); } finally { if (filter != null && filter instanceof FileLineDifferenceIterator) { ((FileLineDifferenceIterator) filter).close(); } if (candTemp != null) { candTemp.delete(); } } } },
@Override public int filter(GarbageCollectableBlobStore blobStore, FileLineDifferenceIterator iter, GarbageCollectorFileState fs) throws IOException { // Write the original candidates FileIOUtils.writeStrings(iter, fs.getGcCandidates(), true); // Filter the ids actively deleted BlobTrackingStore store = (BlobTrackingStore) blobStore; BlobIdTracker tracker = (BlobIdTracker) store.getTracker(); // Move the candidates identified to a temp file File candTemp = createTempFile("candTemp", null); copyFile(fs.getGcCandidates(), candTemp); Iterator<String> filter = tracker.getDeleteTracker().filter(candTemp); try { return FileIOUtils.writeStrings(filter, fs.getGcCandidates(), true); } finally { if (filter != null && filter instanceof FileLineDifferenceIterator) { ((FileLineDifferenceIterator) filter).close(); } if (candTemp != null) { candTemp.delete(); } } } },
@Override protected String computeNext() { String diff = computeNextDiff(); if (diff == null) { close(); return endOfData(); } return diff; }
@Override protected String computeNext() { String diff = computeNextDiff(); if (diff == null) { close(); return endOfData(); } return diff; }
@Override protected String computeNext() { String diff = computeNextDiff(); if (diff == null) { close(); return endOfData(); } return diff; }