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/05/05 06:07:34 UTC
svn commit: r1793946 - in /jackrabbit/oak/trunk/oak-lucene/src:
main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/
test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/
Author: chetanm
Date: Fri May 5 06:07:34 2017
New Revision: 1793946
URL: http://svn.apache.org/viewvc?rev=1793946&view=rev
Log:
OAK-5558 - Consistency checker for Lucene indexes
-- Provide option to delete the local copied files by default
-- Add time taken to Result
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyChecker.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyChecker.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyChecker.java?rev=1793946&r1=1793945&r2=1793946&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyChecker.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyChecker.java Fri May 5 06:07:34 2017
@@ -100,13 +100,15 @@ public class IndexConsistencyChecker {
public List<DirectoryStatus> dirStatus = new ArrayList<>();
+ private Stopwatch watch;
+
public void dump(PrintWriter pw){
if (clean) {
pw.printf("%s => VALID%n", indexPath);
} else {
pw.printf("%s => INVALID%n", indexPath);
}
- pw.printf("\t Size : %s%n", humanReadableByteCount(binaryPropSize));
+ pw.printf("\tSize : %s%n", humanReadableByteCount(binaryPropSize));
if (!missingBlobIds.isEmpty()){
pw.println("Missing blobs");
@@ -125,6 +127,8 @@ public class IndexConsistencyChecker {
for (DirectoryStatus dirStatus : dirStatus) {
dirStatus.dump(pw);
}
+
+ pw.printf("Time taken : %s%n", watch);
}
}
@@ -149,13 +153,13 @@ public class IndexConsistencyChecker {
public void dump(PrintWriter pw) {
pw.println("Directory : " + dirName);
- pw.printf("\t Size : %s%n", humanReadableByteCount(size));
- pw.printf("\t Num docs : %d%n", numDocs);
+ pw.printf("\tSize : %s%n", humanReadableByteCount(size));
+ pw.printf("\tNum docs : %d%n", numDocs);
if (!missingFiles.isEmpty()){
- pw.println("Missing Files");
+ pw.println("\tMissing Files");
for (String file : missingFiles) {
- pw.println("\t - " + file);
+ pw.println("\t\t- " + file);
}
}
@@ -208,10 +212,15 @@ public class IndexConsistencyChecker {
}
public Result check(Level level) throws IOException {
+ return check(level, true);
+ }
+
+ public Result check(Level level, boolean cleanWorkDir) throws IOException {
Stopwatch watch = Stopwatch.createStarted();
Result result = new Result();
result.indexPath = indexPath;
result.clean = true;
+ result.watch = watch;
log.debug("[{}] Starting check", indexPath);
@@ -222,13 +231,18 @@ public class IndexConsistencyChecker {
if (result.clean){
log.info("[] No problems were detected with this index. Time taken {}", indexPath, watch);
- FileUtils.deleteQuietly(workDir);
+
} else {
log.warn("[] Problems detected with this index. Time taken {}", indexPath, watch);
- if (workDir != null) {
- log.warn("[] Index files are copied to {}", indexPath, workDir.getAbsolutePath());
- }
}
+
+ if (cleanWorkDir){
+ FileUtils.deleteQuietly(workDir);
+ } else if (workDir != null){
+ log.info("[] Index files are copied to {}", indexPath, workDir.getAbsolutePath());
+ }
+
+ watch.stop();
return result;
}
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java?rev=1793946&r1=1793945&r2=1793946&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java Fri May 5 06:07:34 2017
@@ -44,7 +44,6 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.memory.ArrayBasedBlob;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;