This is an automated email from the ASF dual-hosted git repository.
snlee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 555ba8f Add the bloom filter to equals() and hashCode() in
IndexingConfig (#3588)
555ba8f is described below
commit 555ba8f6dfa008bfa965d2e1489bd2abce333551
Author: Seunghyun Lee <[email protected]>
AuthorDate: Thu Dec 6 16:19:39 2018 -0800
Add the bloom filter to equals() and hashCode() in IndexingConfig (#3588)
1. add bloom filter for equals, hashCode function in indexing config
2. added a unit test for serialization/deserialization of bloomfilter
config
---
.../java/com/linkedin/pinot/common/config/IndexingConfig.java | 6 ++++--
.../com/linkedin/pinot/common/config/IndexingConfigTest.java | 10 ++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git
a/pinot-common/src/main/java/com/linkedin/pinot/common/config/IndexingConfig.java
b/pinot-common/src/main/java/com/linkedin/pinot/common/config/IndexingConfig.java
index 35de1e3..c3a45900 100644
---
a/pinot-common/src/main/java/com/linkedin/pinot/common/config/IndexingConfig.java
+++
b/pinot-common/src/main/java/com/linkedin/pinot/common/config/IndexingConfig.java
@@ -116,7 +116,7 @@ public class IndexingConfig {
_sortedColumn = sortedColumn;
}
-
+
public List<String> getBloomFilterColumns() {
return _bloomFilterColumns;
}
@@ -275,7 +275,8 @@ public class IndexingConfig {
.isEqual(_noDictionaryColumns, that._noDictionaryColumns) &&
EqualityUtils.isEqual(_noDictionaryConfig,
that._noDictionaryConfig) &&
EqualityUtils.isEqual(_onHeapDictionaryColumns, that._onHeapDictionaryColumns)
&& EqualityUtils.isEqual(_starTreeIndexSpec, that._starTreeIndexSpec)
&& EqualityUtils.isEqual(
- _segmentPartitionConfig, that._segmentPartitionConfig);
+ _segmentPartitionConfig, that._segmentPartitionConfig) &&
EqualityUtils.isEqual(_bloomFilterColumns,
+ that._bloomFilterColumns);
}
@Override
@@ -293,6 +294,7 @@ public class IndexingConfig {
result = EqualityUtils.hashCodeOf(result, _onHeapDictionaryColumns);
result = EqualityUtils.hashCodeOf(result, _starTreeIndexSpec);
result = EqualityUtils.hashCodeOf(result, _segmentPartitionConfig);
+ result = EqualityUtils.hashCodeOf(result, _bloomFilterColumns);
return result;
}
}
diff --git
a/pinot-common/src/test/java/com/linkedin/pinot/common/config/IndexingConfigTest.java
b/pinot-common/src/test/java/com/linkedin/pinot/common/config/IndexingConfigTest.java
index ffd30d4..938b968 100644
---
a/pinot-common/src/test/java/com/linkedin/pinot/common/config/IndexingConfigTest.java
+++
b/pinot-common/src/test/java/com/linkedin/pinot/common/config/IndexingConfigTest.java
@@ -43,6 +43,7 @@ public class IndexingConfigTest {
String[] expectedOnHeapDictionaryColumns = new String[] {"x", "y", "z"};
json.put("onHeapDictionaryColumns",
Arrays.asList(expectedOnHeapDictionaryColumns));
+
json.put("loadMode", "MMAP");
json.put("keyThatIsUnknown", "randomValue");
json.put("aggregateMetrics", "true");
@@ -52,6 +53,9 @@ public class IndexingConfigTest {
noDictConfig.put("b", "PASS_THROUGH");
json.put("noDictionaryConfig", noDictConfig);
+ String[] expectedBloomFilterColumns = new String[] {"a", "b"};
+ json.put("bloomFilterColumns", Arrays.asList(expectedBloomFilterColumns));
+
ObjectMapper mapper = new ObjectMapper();
JsonNode jsonNode = mapper.readTree(json.toString());
IndexingConfig indexingConfig = mapper.readValue(jsonNode,
IndexingConfig.class);
@@ -82,6 +86,12 @@ public class IndexingConfigTest {
}
Assert.assertTrue(indexingConfig.getAggregateMetrics());
+
+ List<String> bloomFilterColumns = indexingConfig.getBloomFilterColumns();
+ Assert.assertEquals(bloomFilterColumns.size(), 2);
+ for (int i = 0; i < bloomFilterColumns.size(); i++) {
+ Assert.assertEquals(bloomFilterColumns.get(i),
expectedBloomFilterColumns[i]);
+ }
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]