Fix upstream changes to IndexSearcherWrapper: https://github.com/elastic/elasticsearch/pull/14654
Original commit: elastic/x-pack-elasticsearch@b32ba2ad78
This commit is contained in:
parent
c916c5e35b
commit
39e58b03d5
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue