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 ch...@apache.org on 2017/08/09 05:04:28 UTC
svn commit: r1804488 - in /jackrabbit/oak/trunk:
oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/
oak-run/src/main/java/org/apache/jackrabbit/oak/index/
Author: chetanm
Date: Wed Aug 9 05:04:28 2017
New Revision: 1804488
URL: http://svn.apache.org/viewvc?rev=1804488&view=rev
Log:
OAK-6525 - Index consistency checker should check all indexes even after failure
Make logic more resilient for exceptions
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexConsistencyCheckPrinter.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexDumper.java
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java?rev=1804488&r1=1804487&r2=1804488&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java Wed Aug 9 05:04:28 2017
@@ -91,7 +91,14 @@ public class LuceneIndexInfoProvider imp
@Override
public boolean isValid(String indexPath) throws IOException {
IndexConsistencyChecker checker = new IndexConsistencyChecker(nodeStore.getRoot(), indexPath, workDir);
- return checker.check(IndexConsistencyChecker.Level.BLOBS_ONLY).clean;
+
+ boolean result = false;
+ try{
+ result = checker.check(IndexConsistencyChecker.Level.BLOBS_ONLY).clean;
+ } catch (Exception e) {
+ log.warn("Error occurred while performing consistency check for {}", indexPath, e);
+ }
+ return result;
}
private void computeAsyncIndexInfo(NodeState idxState, String indexPath, LuceneIndexInfo info) {
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexConsistencyCheckPrinter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexConsistencyCheckPrinter.java?rev=1804488&r1=1804487&r2=1804488&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexConsistencyCheckPrinter.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexConsistencyCheckPrinter.java Wed Aug 9 05:04:28 2017
@@ -75,6 +75,7 @@ class IndexConsistencyCheckPrinter imple
}
System.out.printf("%s => %s%n", indexPath, result.clean ? "valid" : "invalid <==");
} catch (Exception e) {
+ invalidIndexes.add(indexPath);
pw.printf("Error occurred while performing consistency check for index [%s]%n", indexPath);
e.printStackTrace(pw);
}
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexDumper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexDumper.java?rev=1804488&r1=1804487&r2=1804488&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexDumper.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexDumper.java Wed Aug 9 05:04:28 2017
@@ -55,8 +55,13 @@ public class IndexDumper {
continue;
}
LuceneIndexDumper dumper = new LuceneIndexDumper(root, indexPath, indexDumpDir);
- dumper.dump();
- System.out.printf(" - %s (%s)%n", indexPath, IOUtils.humanReadableByteCount(dumper.getSize()));
+ try {
+ dumper.dump();
+ System.out.printf(" - %s (%s)%n", indexPath, IOUtils.humanReadableByteCount(dumper.getSize()));
+ } catch (Exception e){
+ System.out.printf("Error occurred while performing consistency check for index [%s]%n", indexPath);
+ e.printStackTrace(System.out);
+ }
indexCount++;
totalSize += dumper.getSize();