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");


Reply via email to