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 fr...@apache.org on 2018/11/27 17:30:07 UTC
svn commit: r1847568 - in
/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment:
file/tooling/ConsistencyChecker.java
file/tooling/ConsistencyCheckerTemplate.java tool/Check.java
Author: frm
Date: Tue Nov 27 17:30:07 2018
New Revision: 1847568
URL: http://svn.apache.org/viewvc?rev=1847568&view=rev
Log:
OAK-7918 - Rename ConsistencyCheckerTemplate to ConsistencyChecker
Added:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java
- copied, changed from r1847567, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java
Removed:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java
Copied: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java (from r1847567, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java&p1=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java&r1=1847567&r2=1847568&rev=1847568&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyCheckerTemplate.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java Tue Nov 27 17:30:07 2018
@@ -48,7 +48,7 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
-public abstract class ConsistencyCheckerTemplate {
+public abstract class ConsistencyChecker {
private static NodeState getDescendantOrNull(NodeState root, String path) {
NodeState descendant = NodeStateUtils.getNode(root, path);
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java?rev=1847568&r1=1847567&r2=1847568&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Check.java Tue Nov 27 17:30:07 2018
@@ -41,9 +41,9 @@ import org.apache.jackrabbit.oak.segment
import org.apache.jackrabbit.oak.segment.file.JournalReader;
import org.apache.jackrabbit.oak.segment.file.ReadOnlyFileStore;
import org.apache.jackrabbit.oak.segment.file.tar.LocalJournalFile;
-import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyCheckerTemplate;
-import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyCheckerTemplate.ConsistencyCheckResult;
-import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyCheckerTemplate.Revision;
+import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker;
+import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.ConsistencyCheckResult;
+import org.apache.jackrabbit.oak.segment.file.tooling.ConsistencyChecker.Revision;
import org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter;
/**
@@ -310,7 +310,49 @@ public class Check {
}
private void run(ReadOnlyFileStore store, JournalReader journal) {
- ConsistencyCheckerTemplate template = new ConsistencyCheckerTemplate() {
+ Set<String> checkpoints = requestedCheckpoints;
+
+ if (requestedCheckpoints.contains("all")) {
+ checkpoints = Sets.newLinkedHashSet(SegmentNodeStoreBuilders.builder(store).build().checkpoints());
+ }
+
+ ConsistencyCheckResult result = newConsistencyChecker().checkConsistency(
+ store,
+ journal,
+ checkHead,
+ checkpoints,
+ filterPaths,
+ checkBinaries
+ );
+
+ print("\nSearched through {0} revisions and {1} checkpoints", result.getCheckedRevisionsCount(), checkpoints.size());
+
+ if (hasAnyRevision(result)) {
+ if (checkHead) {
+ print("\nHead");
+ for (Entry<String, Revision> e : result.getHeadRevisions().entrySet()) {
+ printRevision(0, e.getKey(), e.getValue());
+ }
+ }
+ if (checkpoints.size() > 0) {
+ print("\nCheckpoints");
+ for (String checkpoint : result.getCheckpointRevisions().keySet()) {
+ print("- {0}", checkpoint);
+ for (Entry<String, Revision> e : result.getCheckpointRevisions().get(checkpoint).entrySet()) {
+ printRevision(2, e.getKey(), e.getValue());
+ }
+
+ }
+ }
+ print("\nOverall");
+ printOverallRevision(result.getOverallRevision());
+ } else {
+ print("No good revision found");
+ }
+ }
+
+ private ConsistencyChecker newConsistencyChecker() {
+ return new ConsistencyChecker() {
@Override
protected void onCheckRevision(String revision) {
@@ -391,46 +433,6 @@ public class Check {
}
};
-
- Set<String> checkpoints = requestedCheckpoints;
-
- if (requestedCheckpoints.contains("all")) {
- checkpoints = Sets.newLinkedHashSet(SegmentNodeStoreBuilders.builder(store).build().checkpoints());
- }
-
- ConsistencyCheckResult result = template.checkConsistency(
- store,
- journal,
- checkHead,
- checkpoints,
- filterPaths,
- checkBinaries
- );
-
- print("\nSearched through {0} revisions and {1} checkpoints", result.getCheckedRevisionsCount(), checkpoints.size());
-
- if (hasAnyRevision(result)) {
- if (checkHead) {
- print("\nHead");
- for (Entry<String, Revision> e : result.getHeadRevisions().entrySet()) {
- printRevision(0, e.getKey(), e.getValue());
- }
- }
- if (checkpoints.size() > 0) {
- print("\nCheckpoints");
- for (String checkpoint : result.getCheckpointRevisions().keySet()) {
- print("- {0}", checkpoint);
- for (Entry<String, Revision> e : result.getCheckpointRevisions().get(checkpoint).entrySet()) {
- printRevision(2, e.getKey(), e.getValue());
- }
-
- }
- }
- print("\nOverall");
- printOverallRevision(result.getOverallRevision());
- } else {
- print("No good revision found");
- }
}
private void print(String format, Object... arguments) {