Author: adulceanu
Date: Fri Feb 24 16:19:44 2017
New Revision: 1784293
URL: http://svn.apache.org/viewvc?rev=1784293&view=rev
Log:
OAK-5837 - Consistency check should log more details when traversing a corrupt
node
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tooling/CheckInvalidRepositoryTest.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java?rev=1784293&r1=1784292&r2=1784293&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Segment.java
Fri Feb 24 16:19:44 2017
@@ -263,7 +263,7 @@ public class Segment {
return new SegmentReferences() {
@Override
public SegmentId getSegmentId(int reference) {
- checkArgument(reference <= referencedSegmentIdCount);
+ checkArgument(reference <= referencedSegmentIdCount, "Segment
reference out of bounds");
SegmentId id = refIds[reference - 1];
if (id == null) {
synchronized(refIds) {
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.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?rev=1784293&r1=1784292&r2=1784293&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tooling/ConsistencyChecker.java
Fri Feb 24 16:19:44 2017
@@ -291,7 +291,7 @@ public class ConsistencyChecker implemen
return null;
} catch (RuntimeException | IOException e) {
- printError("Error while traversing {0}: {1}", path,
e.getMessage());
+ printError("Error while traversing {0}: {1}", path, e);
return path;
}
}
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tooling/CheckInvalidRepositoryTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tooling/CheckInvalidRepositoryTest.java?rev=1784293&r1=1784292&r2=1784293&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tooling/CheckInvalidRepositoryTest.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tooling/CheckInvalidRepositoryTest.java
Fri Feb 24 16:19:44 2017
@@ -99,7 +99,10 @@ public class CheckInvalidRepositoryTest
errWriter.close();
assertExpectedOutput(strOut.toString(), Lists.newArrayList("No good
revision found"));
- assertExpectedOutput(strErr.toString(), Lists.newArrayList("Error
while traversing /z", "Path /z not found"));
+ assertExpectedOutput(strErr.toString(),
+ Lists.newArrayList(
+ "Error while traversing /z:
java.lang.IllegalArgumentException: Segment reference out of bounds",
+ "Path /z not found"));
}
@Test
@@ -129,6 +132,7 @@ public class CheckInvalidRepositoryTest
assertExpectedOutput(strOut.toString(), Lists.newArrayList("Checked 1
nodes and 1 properties", "Path /a is consistent",
"Searched through 2 revisions"));
- assertExpectedOutput(strErr.toString(), Lists.newArrayList("Error
while traversing /a"));
+ assertExpectedOutput(strErr.toString(), Lists.newArrayList(
+ "Error while traversing /a:
java.lang.IllegalArgumentException: Segment reference out of bounds"));
}
}