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