summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/index/shard/IndexSearcherWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/index/shard/IndexSearcherWrapper.java')
-rw-r--r--core/src/main/java/org/elasticsearch/index/shard/IndexSearcherWrapper.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexSearcherWrapper.java b/core/src/main/java/org/elasticsearch/index/shard/IndexSearcherWrapper.java
index 5603001a29..a2e738128e 100644
--- a/core/src/main/java/org/elasticsearch/index/shard/IndexSearcherWrapper.java
+++ b/core/src/main/java/org/elasticsearch/index/shard/IndexSearcherWrapper.java
@@ -40,8 +40,9 @@ public class IndexSearcherWrapper {
* Wraps the given {@link DirectoryReader}. The wrapped reader can filter out document just like delete documents etc. but
* must not change any term or document content.
* <p>
- * NOTE: The wrapper has a per-request lifecycle, must delegate {@link IndexReader#getCoreCacheKey()} and must be an instance
- * of {@link FilterDirectoryReader} that eventually exposes the original reader via {@link FilterDirectoryReader#getDelegate()}.
+ * NOTE: The wrapper has a per-request lifecycle, must delegate {@link IndexReader#getReaderCacheHelper()},
+ * {@link LeafReader#getCoreCacheHelper()} and must be an instance of {@link FilterDirectoryReader} that
+ * eventually exposes the original reader via {@link FilterDirectoryReader#getDelegate()}.
* The returned reader is closed once it goes out of scope.
* </p>
* @param reader The provided directory reader to be wrapped to add custom functionality
@@ -74,7 +75,7 @@ public class IndexSearcherWrapper {
NonClosingReaderWrapper nonClosingReaderWrapper = new NonClosingReaderWrapper(engineSearcher.getDirectoryReader());
DirectoryReader reader = wrap(nonClosingReaderWrapper);
if (reader != nonClosingReaderWrapper) {
- if (reader.getCoreCacheKey() != elasticsearchDirectoryReader.getCoreCacheKey()) {
+ if (reader.getReaderCacheHelper() != elasticsearchDirectoryReader.getReaderCacheHelper()) {
throw new IllegalStateException("wrapped directory reader doesn't delegate IndexReader#getCoreCacheKey, wrappers must override this method and delegate" +
" to the original readers core cache key. Wrapped readers can't be used as cache keys since their are used only per request which would lead to subtle bugs");
}
@@ -136,9 +137,10 @@ public class IndexSearcherWrapper {
}
@Override
- public Object getCoreCacheKey() {
- return in.getCoreCacheKey();
+ public CacheHelper getReaderCacheHelper() {
+ return in.getReaderCacheHelper();
}
+
}
}