Skip to content

Commit 2a7b719

Browse files
original-brownbearsmalyshev
authored andcommitted
Add singleton for noop BitSetFilterCache.Listener (#116753)
Noticed during a code review that added yet another one of these: We have quite a few instances of duplicate noop implementations, lets make tests a little less verbose here. Technically the constant is test-only but it felt right to just leave it on the interface.
1 parent b91134a commit 2a7b719

File tree

11 files changed

+26
-129
lines changed

11 files changed

+26
-129
lines changed

benchmarks/src/main/java/org/elasticsearch/benchmark/index/mapper/MapperServiceFactory.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
package org.elasticsearch.benchmark.index.mapper;
1111

1212
import org.apache.lucene.analysis.standard.StandardAnalyzer;
13-
import org.apache.lucene.util.Accountable;
1413
import org.elasticsearch.TransportVersion;
1514
import org.elasticsearch.cluster.ClusterModule;
1615
import org.elasticsearch.cluster.metadata.IndexMetadata;
@@ -28,7 +27,6 @@
2827
import org.elasticsearch.index.mapper.MapperRegistry;
2928
import org.elasticsearch.index.mapper.MapperService;
3029
import org.elasticsearch.index.mapper.ProvidedIdFieldMapper;
31-
import org.elasticsearch.index.shard.ShardId;
3230
import org.elasticsearch.index.similarity.SimilarityService;
3331
import org.elasticsearch.indices.IndicesModule;
3432
import org.elasticsearch.script.Script;
@@ -56,13 +54,7 @@ public static MapperService create(String mappings) {
5654
MapperRegistry mapperRegistry = new IndicesModule(Collections.emptyList()).getMapperRegistry();
5755

5856
SimilarityService similarityService = new SimilarityService(indexSettings, null, Map.of());
59-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
60-
@Override
61-
public void onCache(ShardId shardId, Accountable accountable) {}
62-
63-
@Override
64-
public void onRemoval(ShardId shardId, Accountable accountable) {}
65-
});
57+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP);
6658
MapperService mapperService = new MapperService(
6759
() -> TransportVersion.current(),
6860
indexSettings,

server/src/main/java/org/elasticsearch/index/cache/bitset/BitsetFilterCache.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,5 +341,13 @@ public interface Listener {
341341
* @param accountable the bitsets ram representation
342342
*/
343343
void onRemoval(ShardId shardId, Accountable accountable);
344+
345+
Listener NOOP = new Listener() {
346+
@Override
347+
public void onCache(ShardId shardId, Accountable accountable) {}
348+
349+
@Override
350+
public void onRemoval(ShardId shardId, Accountable accountable) {}
351+
};
344352
}
345353
}

server/src/test/java/org/elasticsearch/index/cache/bitset/BitSetFilterCacheTests.java

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -94,17 +94,7 @@ public void testInvalidateEntries() throws Exception {
9494
DirectoryReader reader = DirectoryReader.open(writer);
9595
reader = ElasticsearchDirectoryReader.wrap(reader, new ShardId("test", "_na_", 0));
9696

97-
BitsetFilterCache cache = new BitsetFilterCache(INDEX_SETTINGS, new BitsetFilterCache.Listener() {
98-
@Override
99-
public void onCache(ShardId shardId, Accountable accountable) {
100-
101-
}
102-
103-
@Override
104-
public void onRemoval(ShardId shardId, Accountable accountable) {
105-
106-
}
107-
});
97+
BitsetFilterCache cache = new BitsetFilterCache(INDEX_SETTINGS, BitsetFilterCache.Listener.NOOP);
10898
BitSetProducer filter = cache.getBitSetProducer(new TermQuery(new Term("field", "value")));
10999
assertThat(matchCount(filter, reader), equalTo(3));
110100

@@ -237,17 +227,7 @@ public void testSetNullListener() {
237227
}
238228

239229
public void testRejectOtherIndex() throws IOException {
240-
BitsetFilterCache cache = new BitsetFilterCache(INDEX_SETTINGS, new BitsetFilterCache.Listener() {
241-
@Override
242-
public void onCache(ShardId shardId, Accountable accountable) {
243-
244-
}
245-
246-
@Override
247-
public void onRemoval(ShardId shardId, Accountable accountable) {
248-
249-
}
250-
});
230+
BitsetFilterCache cache = new BitsetFilterCache(INDEX_SETTINGS, BitsetFilterCache.Listener.NOOP);
251231

252232
Directory dir = newDirectory();
253233
IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig());

server/src/test/java/org/elasticsearch/index/codec/CodecTests.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.apache.lucene.index.IndexWriter;
2020
import org.apache.lucene.store.Directory;
2121
import org.apache.lucene.tests.util.LuceneTestCase.SuppressCodecs;
22-
import org.apache.lucene.util.Accountable;
2322
import org.elasticsearch.TransportVersion;
2423
import org.elasticsearch.common.settings.Settings;
2524
import org.elasticsearch.common.util.BigArrays;
@@ -30,7 +29,6 @@
3029
import org.elasticsearch.index.mapper.MapperMetrics;
3130
import org.elasticsearch.index.mapper.MapperRegistry;
3231
import org.elasticsearch.index.mapper.MapperService;
33-
import org.elasticsearch.index.shard.ShardId;
3432
import org.elasticsearch.index.similarity.SimilarityService;
3533
import org.elasticsearch.plugins.MapperPlugin;
3634
import org.elasticsearch.script.ScriptCompiler;
@@ -132,13 +130,7 @@ private CodecService createCodecService() throws IOException {
132130
Collections.emptyMap(),
133131
MapperPlugin.NOOP_FIELD_FILTER
134132
);
135-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(settings, new BitsetFilterCache.Listener() {
136-
@Override
137-
public void onCache(ShardId shardId, Accountable accountable) {}
138-
139-
@Override
140-
public void onRemoval(ShardId shardId, Accountable accountable) {}
141-
});
133+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(settings, BitsetFilterCache.Listener.NOOP);
142134
MapperService service = new MapperService(
143135
() -> TransportVersion.current(),
144136
settings,

server/src/test/java/org/elasticsearch/index/mapper/MappingParserTests.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
package org.elasticsearch.index.mapper;
1111

12-
import org.apache.lucene.util.Accountable;
1312
import org.elasticsearch.TransportVersion;
1413
import org.elasticsearch.TransportVersions;
1514
import org.elasticsearch.common.bytes.BytesReference;
@@ -20,7 +19,6 @@
2019
import org.elasticsearch.index.IndexVersions;
2120
import org.elasticsearch.index.analysis.IndexAnalyzers;
2221
import org.elasticsearch.index.cache.bitset.BitsetFilterCache;
23-
import org.elasticsearch.index.shard.ShardId;
2422
import org.elasticsearch.index.similarity.SimilarityService;
2523
import org.elasticsearch.indices.IndicesModule;
2624
import org.elasticsearch.script.ScriptService;
@@ -47,13 +45,7 @@ private static MappingParser createMappingParser(Settings settings, IndexVersion
4745
IndexAnalyzers indexAnalyzers = createIndexAnalyzers();
4846
SimilarityService similarityService = new SimilarityService(indexSettings, scriptService, Collections.emptyMap());
4947
MapperRegistry mapperRegistry = new IndicesModule(Collections.emptyList()).getMapperRegistry();
50-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
51-
@Override
52-
public void onCache(ShardId shardId, Accountable accountable) {}
53-
54-
@Override
55-
public void onRemoval(ShardId shardId, Accountable accountable) {}
56-
});
48+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP);
5749
Supplier<MappingParserContext> mappingParserContextSupplier = () -> new MappingParserContext(
5850
similarityService::getSimilarity,
5951
type -> mapperRegistry.getMapperParser(type, indexSettings.getIndexVersionCreated()),

server/src/test/java/org/elasticsearch/search/aggregations/bucket/filter/FiltersAggregatorTests.java

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.apache.lucene.search.TermQuery;
2929
import org.apache.lucene.store.Directory;
3030
import org.apache.lucene.tests.index.RandomIndexWriter;
31-
import org.apache.lucene.util.Accountable;
3231
import org.apache.lucene.util.BytesRef;
3332
import org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader;
3433
import org.elasticsearch.common.lucene.search.Queries;
@@ -649,13 +648,7 @@ public void testMatchAllOnFilteredIndex() throws IOException {
649648

650649
try (DirectoryReader directoryReader = DirectoryReader.open(directory)) {
651650
final IndexSettings indexSettings = createIndexSettings();
652-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
653-
@Override
654-
public void onRemoval(ShardId shardId, Accountable accountable) {}
655-
656-
@Override
657-
public void onCache(ShardId shardId, Accountable accountable) {}
658-
});
651+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP);
659652
DirectoryReader limitedReader = new DocumentSubsetDirectoryReader(
660653
ElasticsearchDirectoryReader.wrap(directoryReader, new ShardId(indexSettings.getIndex(), 0)),
661654
bitsetFilterCache,
@@ -721,13 +714,7 @@ public void testTermOnFilteredIndex() throws IOException {
721714

722715
try (DirectoryReader directoryReader = DirectoryReader.open(directory)) {
723716
final IndexSettings indexSettings = createIndexSettings();
724-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
725-
@Override
726-
public void onRemoval(ShardId shardId, Accountable accountable) {}
727-
728-
@Override
729-
public void onCache(ShardId shardId, Accountable accountable) {}
730-
});
717+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP);
731718
DirectoryReader limitedReader = new DocumentSubsetDirectoryReader(
732719
ElasticsearchDirectoryReader.wrap(directoryReader, new ShardId(indexSettings.getIndex(), 0)),
733720
bitsetFilterCache,
@@ -790,13 +777,7 @@ public void testTermOnFilterWithMatchAll() throws IOException {
790777

791778
try (DirectoryReader directoryReader = DirectoryReader.open(directory)) {
792779
final IndexSettings indexSettings = createIndexSettings();
793-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
794-
@Override
795-
public void onRemoval(ShardId shardId, Accountable accountable) {}
796-
797-
@Override
798-
public void onCache(ShardId shardId, Accountable accountable) {}
799-
});
780+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP);
800781
DirectoryReader limitedReader = new DocumentSubsetDirectoryReader(
801782
ElasticsearchDirectoryReader.wrap(directoryReader, new ShardId(indexSettings.getIndex(), 0)),
802783
bitsetFilterCache,

server/src/test/java/org/elasticsearch/search/internal/ContextIndexSearcherTests.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
import org.apache.lucene.search.Weight;
5454
import org.apache.lucene.store.Directory;
5555
import org.apache.lucene.tests.index.RandomIndexWriter;
56-
import org.apache.lucene.util.Accountable;
5756
import org.apache.lucene.util.BitSet;
5857
import org.apache.lucene.util.BitSetIterator;
5958
import org.apache.lucene.util.Bits;
@@ -308,19 +307,8 @@ public void doTestContextIndexSearcher(boolean sparse, boolean deletions) throws
308307
w.deleteDocuments(new Term("delete", "yes"));
309308

310309
IndexSettings settings = IndexSettingsModule.newIndexSettings("_index", Settings.EMPTY);
311-
BitsetFilterCache.Listener listener = new BitsetFilterCache.Listener() {
312-
@Override
313-
public void onCache(ShardId shardId, Accountable accountable) {
314-
315-
}
316-
317-
@Override
318-
public void onRemoval(ShardId shardId, Accountable accountable) {
319-
320-
}
321-
};
322310
DirectoryReader reader = ElasticsearchDirectoryReader.wrap(DirectoryReader.open(w), new ShardId(settings.getIndex(), 0));
323-
BitsetFilterCache cache = new BitsetFilterCache(settings, listener);
311+
BitsetFilterCache cache = new BitsetFilterCache(settings, BitsetFilterCache.Listener.NOOP);
324312
Query roleQuery = new TermQuery(new Term("allowed", "yes"));
325313
BitSet bitSet = cache.getBitSetProducer(roleQuery).getBitSet(reader.leaves().get(0));
326314
if (sparse) {

test/framework/src/main/java/org/elasticsearch/index/MapperTestUtils.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
package org.elasticsearch.index;
1111

12-
import org.apache.lucene.util.Accountable;
1312
import org.elasticsearch.TransportVersion;
1413
import org.elasticsearch.cluster.metadata.IndexMetadata;
1514
import org.elasticsearch.common.settings.Settings;
@@ -20,7 +19,6 @@
2019
import org.elasticsearch.index.mapper.MapperMetrics;
2120
import org.elasticsearch.index.mapper.MapperRegistry;
2221
import org.elasticsearch.index.mapper.MapperService;
23-
import org.elasticsearch.index.shard.ShardId;
2422
import org.elasticsearch.index.similarity.SimilarityService;
2523
import org.elasticsearch.indices.IndicesModule;
2624
import org.elasticsearch.script.ScriptCompiler;
@@ -62,13 +60,7 @@ public static MapperService newMapperService(
6260
IndexSettings indexSettings = IndexSettingsModule.newIndexSettings(indexName, finalSettings);
6361
IndexAnalyzers indexAnalyzers = createTestAnalysis(indexSettings, finalSettings).indexAnalyzers;
6462
SimilarityService similarityService = new SimilarityService(indexSettings, null, Collections.emptyMap());
65-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
66-
@Override
67-
public void onCache(ShardId shardId, Accountable accountable) {}
68-
69-
@Override
70-
public void onRemoval(ShardId shardId, Accountable accountable) {}
71-
});
63+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP);
7264
return new MapperService(
7365
() -> TransportVersion.current(),
7466
indexSettings,

test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.apache.lucene.search.Query;
2020
import org.apache.lucene.store.Directory;
2121
import org.apache.lucene.tests.index.RandomIndexWriter;
22-
import org.apache.lucene.util.Accountable;
2322
import org.elasticsearch.TransportVersion;
2423
import org.elasticsearch.cluster.metadata.IndexMetadata;
2524
import org.elasticsearch.common.Strings;
@@ -283,13 +282,7 @@ public MapperService build() {
283282
getPlugins().stream().filter(p -> p instanceof MapperPlugin).map(p -> (MapperPlugin) p).collect(toList())
284283
).getMapperRegistry();
285284

286-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
287-
@Override
288-
public void onCache(ShardId shardId, Accountable accountable) {}
289-
290-
@Override
291-
public void onRemoval(ShardId shardId, Accountable accountable) {}
292-
});
285+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP);
293286

294287
var mapperService = new MapperService(
295288
() -> TransportVersion.current(),
@@ -762,17 +755,11 @@ protected SearchExecutionContext createSearchExecutionContext(MapperService mapp
762755
IndexSettings indexSettings = new IndexSettings(indexMetadata, Settings.EMPTY);
763756
final SimilarityService similarityService = new SimilarityService(indexSettings, null, Map.of());
764757
final long nowInMillis = randomNonNegativeLong();
765-
return new SearchExecutionContext(0, 0, indexSettings, new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
766-
@Override
767-
public void onCache(ShardId shardId, Accountable accountable) {
768-
769-
}
770-
771-
@Override
772-
public void onRemoval(ShardId shardId, Accountable accountable) {
773-
774-
}
775-
}),
758+
return new SearchExecutionContext(
759+
0,
760+
0,
761+
indexSettings,
762+
new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP),
776763
(ft, fdc) -> ft.fielddataBuilder(fdc).build(new IndexFieldDataCache.None(), new NoneCircuitBreakerService()),
777764
mapperService,
778765
mapperService.mappingLookup(),

test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
import org.apache.lucene.tests.index.AssertingDirectoryReader;
4949
import org.apache.lucene.tests.index.RandomIndexWriter;
5050
import org.apache.lucene.tests.util.LuceneTestCase;
51-
import org.apache.lucene.util.Accountable;
5251
import org.apache.lucene.util.BytesRef;
5352
import org.apache.lucene.util.NumericUtils;
5453
import org.apache.lucene.util.packed.PackedInts;
@@ -366,13 +365,7 @@ private AggregationContext createAggregationContext(
366365
context.fielddataOperation()
367366
)
368367
).build(new IndexFieldDataCache.None(), breakerService);
369-
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, new BitsetFilterCache.Listener() {
370-
@Override
371-
public void onRemoval(ShardId shardId, Accountable accountable) {}
372-
373-
@Override
374-
public void onCache(ShardId shardId, Accountable accountable) {}
375-
});
368+
BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(indexSettings, BitsetFilterCache.Listener.NOOP);
376369
SearchExecutionContext searchExecutionContext = new SearchExecutionContext(
377370
0,
378371
-1,

0 commit comments

Comments
 (0)