Fix upstream changes to IndexSearcherWrapper: https://github.com/elastic/elasticsearch/pull/14654

Original commit: elastic/x-pack-elasticsearch@b32ba2ad78
This commit is contained in:
Martijn van Groningen 2015-11-10 23:10:04 +07:00
parent c916c5e35b
commit 39e58b03d5
3 changed files with 8 additions and 14 deletions

View File

@ -131,7 +131,7 @@ public class ShieldIndexSearcherWrapper extends IndexSearcherWrapper {
}
@Override
protected IndexSearcher wrap(EngineConfig engineConfig, IndexSearcher searcher) throws EngineException {
protected IndexSearcher wrap(IndexSearcher searcher) throws EngineException {
if (shieldLicenseState.documentAndFieldLevelSecurityEnabled() == false) {
return searcher;
}
@ -185,9 +185,9 @@ public class ShieldIndexSearcherWrapper extends IndexSearcherWrapper {
}
}
};
indexSearcher.setQueryCache(engineConfig.getQueryCache());
indexSearcher.setQueryCachingPolicy(engineConfig.getQueryCachingPolicy());
indexSearcher.setSimilarity(engineConfig.getSimilarity());
indexSearcher.setQueryCache(indexSearcher.getQueryCache());
indexSearcher.setQueryCachingPolicy(indexSearcher.getQueryCachingPolicy());
indexSearcher.setSimilarity(indexSearcher.getSimilarity(true));
return indexSearcher;
}
return searcher;

View File

@ -67,8 +67,6 @@ public class ShieldIndexSearcherWrapperIntegrationTests extends ESTestCase {
public void testDLS() throws Exception {
ShardId shardId = new ShardId("_index", 0);
EngineConfig engineConfig = new EngineConfig(shardId, null, null, Settings.EMPTY, null, null, null, null, null, null, null, null, null, null, null, QueryCachingPolicy.ALWAYS_CACHE, null, TimeValue.timeValueMinutes(5)); // can't mock...
MapperService mapperService = mock(MapperService.class);
when(mapperService.docMappers(anyBoolean())).thenReturn(Collections.emptyList());
when(mapperService.simpleMatchToIndexNames(anyString())).then(new Answer<Collection<String>>() {
@ -153,7 +151,7 @@ public class ShieldIndexSearcherWrapperIntegrationTests extends ESTestCase {
ParsedQuery parsedQuery = new ParsedQuery(new TermQuery(new Term("field", values[i])));
when(queryShardContext.parse(any(BytesReference.class))).thenReturn(parsedQuery);
DirectoryReader wrappedDirectoryReader = wrapper.wrap(directoryReader);
IndexSearcher indexSearcher = wrapper.wrap(engineConfig, new IndexSearcher(wrappedDirectoryReader));
IndexSearcher indexSearcher = wrapper.wrap(new IndexSearcher(wrappedDirectoryReader));
int expectedHitCount = valuesHitCount[i];
logger.info("Going to verify hit count with query [{}] with expected total hits [{}]", parsedQuery.query(), expectedHitCount);

View File

@ -126,10 +126,8 @@ public class ShieldIndexSearcherWrapperUnitTests extends ESTestCase {
public void testWrapSearcherWhenFeatureDisabled() throws Exception {
ShardId shardId = new ShardId("_index", 0);
EngineConfig engineConfig = new EngineConfig(shardId, null, null, Settings.EMPTY, null, null, null, null, null, null, new BM25Similarity(), null, null, null, new NoneQueryCache(IndexSettingsModule.newIndexSettings(shardId.index(), Settings.EMPTY, Collections.EMPTY_LIST)), QueryCachingPolicy.ALWAYS_CACHE, null, TimeValue.timeValueMinutes(5)); // can't mock...
IndexSearcher indexSearcher = new IndexSearcher(esIn);
IndexSearcher result = shieldIndexSearcherWrapper.wrap(engineConfig, indexSearcher);
IndexSearcher result = shieldIndexSearcherWrapper.wrap(indexSearcher);
assertThat(result, sameInstance(indexSearcher));
}
@ -226,8 +224,6 @@ public class ShieldIndexSearcherWrapperUnitTests extends ESTestCase {
public void testDelegateSimilarity() throws Exception {
ShardId shardId = new ShardId("_index", 0);
EngineConfig engineConfig = new EngineConfig(shardId, null, null, Settings.EMPTY, null, null, null, null, null, null, new BM25Similarity(), null, null, null, new NoneQueryCache(IndexSettingsModule.newIndexSettings(shardId.index(), Settings.EMPTY, Collections.EMPTY_LIST)), QueryCachingPolicy.ALWAYS_CACHE, null, TimeValue.timeValueMinutes(5)); // can't mock...
IndexSettings settings = IndexSettingsModule.newIndexSettings(new Index("_index"), Settings.EMPTY, Collections.emptyList());
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(settings, new IndicesWarmer(settings.getSettings(), null), new BitsetFilterCache.Listener() {
@Override
@ -242,9 +238,9 @@ public class ShieldIndexSearcherWrapperUnitTests extends ESTestCase {
});
DirectoryReader directoryReader = DocumentSubsetReader.wrap(esIn, bitsetFilterCache, new MatchAllDocsQuery());
IndexSearcher indexSearcher = new IndexSearcher(directoryReader);
IndexSearcher result = shieldIndexSearcherWrapper.wrap(engineConfig, indexSearcher);
IndexSearcher result = shieldIndexSearcherWrapper.wrap(indexSearcher);
assertThat(result, not(sameInstance(indexSearcher)));
assertThat(result.getSimilarity(true), sameInstance(engineConfig.getSimilarity()));
assertThat(result.getSimilarity(true), sameInstance(indexSearcher.getSimilarity(true)));
bitsetFilterCache.close();
}