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


Reply via email to