Skip to content

Commit 11be2f9

Browse files
committed
Change default NDV to 1024
Signed-off-by: Chen Dai <[email protected]>
1 parent c697cf3 commit 11be2f9

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

Diff for: flint-core/src/main/java/org/opensearch/flint/core/field/bloomfilter/adaptive/AdaptiveBloomFilter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class AdaptiveBloomFilter implements BloomFilter {
3434
public AdaptiveBloomFilter(int numCandidate, double fpp) {
3535
this.candidates = new BloomFilterCandidate[numCandidate];
3636

37-
int expectedNumItems = 128;
37+
int expectedNumItems = 1024;
3838
for (int i = 0; i < candidates.length; i++) {
3939
candidates[i] =
4040
new BloomFilterCandidate(
@@ -48,7 +48,7 @@ public AdaptiveBloomFilter(int numCandidate, double fpp) {
4848
this.total = total;
4949
this.candidates = new BloomFilterCandidate[candidates.length];
5050

51-
int expectedNumItems = 128;
51+
int expectedNumItems = 1024;
5252
for (int i = 0; i < candidates.length; i++) {
5353
this.candidates[i] = new BloomFilterCandidate(expectedNumItems, candidates[i]);
5454
expectedNumItems *= 2;

Diff for: flint-core/src/test/java/org/opensearch/flint/core/field/bloomfilter/adaptive/AdaptiveBloomFilterTest.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,26 @@ public class AdaptiveBloomFilterTest {
2424

2525
@Test
2626
public void shouldChooseBestCandidateAdaptively() {
27-
// Insert 50 items
28-
for (int i = 0; i < 50; i++) {
27+
// Insert 500 items
28+
for (int i = 0; i < 500; i++) {
2929
bloomFilter.put(i);
3030
}
3131
BloomFilterCandidate candidate1 = bloomFilter.bestCandidate();
32-
assertEquals(128, candidate1.expectedNumItems);
32+
assertEquals(1024, candidate1.expectedNumItems);
3333

34-
// Insert 100 (total 150)
35-
for (int i = 50; i < 150; i++) {
34+
// Insert 1000 (total 1500)
35+
for (int i = 500; i < 1500; i++) {
3636
bloomFilter.put(i);
3737
}
3838
BloomFilterCandidate candidate2 = bloomFilter.bestCandidate();
39-
assertEquals(256, candidate2.expectedNumItems);
39+
assertEquals(2048, candidate2.expectedNumItems);
4040

41-
// Insert 400 (total 550)
42-
for (int i = 150; i < 550; i++) {
41+
// Insert 4000 (total 5500)
42+
for (int i = 1500; i < 5500; i++) {
4343
bloomFilter.put(i);
4444
}
4545
BloomFilterCandidate candidate3 = bloomFilter.bestCandidate();
46-
assertEquals(1024, candidate3.expectedNumItems);
46+
assertEquals(8192, candidate3.expectedNumItems);
4747
}
4848

4949
@Test

Diff for: flint-spark-integration/src/test/scala/org/opensearch/flint/spark/skipping/bloomfilter/BloomFilterSkippingStrategySuite.scala

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class BloomFilterSkippingStrategySuite
2323
test("parameters") {
2424
strategy.parameters shouldBe Map(
2525
BLOOM_FILTER_ADAPTIVE_KEY -> DEFAULT_BLOOM_FILTER_ADAPTIVE.toString,
26+
ADAPTIVE_NUMBER_CANDIDATE_KEY -> DEFAULT_ADAPTIVE_NUMBER_CANDIDATE.toString,
2627
CLASSIC_BLOOM_FILTER_FPP_KEY -> DEFAULT_CLASSIC_BLOOM_FILTER_FPP.toString)
2728
}
2829
}

0 commit comments

Comments
 (0)