No bug - Prevent index interuption
Change-Id: I7a0aebc43e0df0facbeb6ab335f8887df83660a3
diff --git a/core/plugins/org.eclipse.dltk.core.index.lucene/src/org/eclipse/dltk/internal/core/index/lucene/IndexContainer.java b/core/plugins/org.eclipse.dltk.core.index.lucene/src/org/eclipse/dltk/internal/core/index/lucene/IndexContainer.java
index f0f1839..721d31a 100644
--- a/core/plugins/org.eclipse.dltk.core.index.lucene/src/org/eclipse/dltk/internal/core/index/lucene/IndexContainer.java
+++ b/core/plugins/org.eclipse.dltk.core.index.lucene/src/org/eclipse/dltk/internal/core/index/lucene/IndexContainer.java
@@ -195,12 +195,15 @@
dataType.getDirectory(), String.valueOf(elementType));
writer = getWriter(writerPath);
fIndexWriters.get(dataType).put(elementType, writer);
+ fIndexSearchers.get(dataType).put(elementType, null);
}
return writer;
}
public synchronized SearcherManager getIndexSearcher(IndexType dataType,
int elementType) {
+
+ getIndexWriter(dataType, elementType);
SearcherManager searcher = fIndexSearchers.get(dataType)
.get(elementType);
try {
@@ -210,6 +213,7 @@
new SearcherFactory());
fIndexSearchers.get(dataType).put(elementType, searcher);
}
+
// Try to achieve the up-to-date index state
searcher.maybeRefresh();
} catch (IOException e) {