Author: frm
Date: Wed Apr 5 12:35:03 2017
New Revision: 1790223
URL: http://svn.apache.org/viewvc?rev=1790223&view=rev
Log:
OAK-6037 - Only use bulk segments as input to cleanup
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java?rev=1790223&r1=1790222&r2=1790223&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
Wed Apr 5 12:35:03 2017
@@ -801,7 +801,6 @@ public class FileStore extends AbstractF
private List<File> cleanup(@Nonnull CompactionResult compactionResult)
throws IOException {
Stopwatch watch = Stopwatch.createStarted();
- Set<UUID> bulkRefs = newHashSet();
gcListener.info("TarMK GC #{}: cleanup started.", GC_COUNT);
gcListener.updateStatus(CLEANUP.message());
@@ -811,10 +810,12 @@ public class FileStore extends AbstractF
// to clear stale weak references in the SegmentTracker
System.gc();
+ Set<UUID> bulkRefs = newHashSet();
for (SegmentId id : tracker.getReferencedSegmentIds()) {
- bulkRefs.add(id.asUUID());
+ if (id.isBulkSegmentId()) {
+ bulkRefs.add(id.asUUID());
+ }
}
-
CleanupResult cleanupResult = tarFiles.cleanup(bulkRefs,
compactionResult.reclaimer());
if (cleanupResult.isInterrupted()) {
gcListener.info("TarMK GC #{}: cleanup interrupted", GC_COUNT);