reuse reader from the index consistency check.
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java b/app/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
index 7a4611c..aa2cb5d 100644
--- a/app/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
+++ b/app/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
@@ -150,11 +150,11 @@
if (indexExists()) {
- // test if the index is readable, if the version is outdated this might fail and we rebuild.
- // TODO: we probably should just eagerly initialize the actual reader here, since we have it already
+ // test if the index is readable, if the version is outdated or it fails we rebuild.
try {
- DirectoryReader readerProbe = DirectoryReader.open(getFSDirectory(false));
- readerProbe.close();
+ synchronized(this) {
+ reader = DirectoryReader.open(getFSDirectory(false));
+ }
} catch (IOException ex) {
mLogger.warn("Error opening search index, scheduling rebuild.", ex);
getFSDirectory(true);