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