You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2019/07/01 13:17:46 UTC

svn commit: r1862378 - /jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java

Author: reschke
Date: Mon Jul  1 13:17:46 2019
New Revision: 1862378

URL: http://svn.apache.org/viewvc?rev=1862378&view=rev
Log:
OAK-8446: Enable datastore consistency check after completion of garbage collection

skip handling specific to SharedDataStore when the BlobStore is not a SharedDataStore

Modified:
    jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java

Modified: jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java?rev=1862378&r1=1862377&r2=1862378&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java (original)
+++ jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java Mon Jul  1 13:17:46 2019
@@ -688,20 +688,22 @@ public class MarkSweepGarbageCollector i
             }
 
             // Retrieve all other marked present in the datastore
-            List<DataRecord> refFiles =
-                ((SharedDataStore) blobStore).getAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType());
-            if (refFiles.size() > 0) {
-                File temp = new File(root, repoId + UUID.randomUUID().toString());
-                copyFile(fs.getMarkedRefs(), temp);
+            if (blobStore instanceof SharedDataStore) {
+                List<DataRecord> refFiles = ((SharedDataStore) blobStore)
+                        .getAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType());
+                if (refFiles.size() > 0) {
+                    File temp = new File(root, repoId + UUID.randomUUID().toString());
+                    copyFile(fs.getMarkedRefs(), temp);
 
-                // List of files to be merged
-                List<File> files = newArrayList();
-                files.add(temp);
-                for (DataRecord refFile : refFiles) {
-                    File file = copy(refFile.getStream());
-                    files.add(file);
+                    // List of files to be merged
+                    List<File> files = newArrayList();
+                    files.add(temp);
+                    for (DataRecord refFile : refFiles) {
+                        File file = copy(refFile.getStream());
+                        files.add(file);
+                    }
+                    merge(files, fs.getMarkedRefs());
                 }
-                merge(files, fs.getMarkedRefs());
             }
 
             LOG.trace("Starting difference phase of the consistency check");