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]

Reply via email to