This is an automated email from the ASF dual-hosted git repository.

nehapawar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 568d858f16 Fix bloom filter creation on BYTES (#9898)
568d858f16 is described below

commit 568d858f1654dc35cd07ad28978ead1161bd65d9
Author: Xiaotian (Jackie) Jiang <17555551+jackie-ji...@users.noreply.github.com>
AuthorDate: Thu Dec 1 19:24:44 2022 -0800

    Fix bloom filter creation on BYTES (#9898)
---
 .../creator/impl/SegmentColumnarIndexCreator.java       | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/SegmentColumnarIndexCreator.java
 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/SegmentColumnarIndexCreator.java
index 6d31f596d8..cbee9ad746 100644
--- 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/SegmentColumnarIndexCreator.java
+++ 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/SegmentColumnarIndexCreator.java
@@ -70,6 +70,7 @@ import org.apache.pinot.spi.data.FieldSpec.DataType;
 import org.apache.pinot.spi.data.FieldSpec.FieldType;
 import org.apache.pinot.spi.data.Schema;
 import org.apache.pinot.spi.data.readers.GenericRow;
+import org.apache.pinot.spi.utils.BytesUtils;
 import org.apache.pinot.spi.utils.TimeUtils;
 import org.joda.time.DateTimeZone;
 import org.joda.time.Interval;
@@ -468,11 +469,21 @@ public class SegmentColumnarIndexCreator implements 
SegmentCreator {
       BloomFilterCreator bloomFilterCreator = 
_bloomFilterCreatorMap.get(columnName);
       if (bloomFilterCreator != null) {
         if (fieldSpec.isSingleValueField()) {
-          bloomFilterCreator.add(columnValueToIndex.toString());
+          if (fieldSpec.getDataType() == DataType.BYTES) {
+            bloomFilterCreator.add(BytesUtils.toHexString((byte[]) 
columnValueToIndex));
+          } else {
+            bloomFilterCreator.add(columnValueToIndex.toString());
+          }
         } else {
           Object[] values = (Object[]) columnValueToIndex;
-          for (Object value : values) {
-            bloomFilterCreator.add(value.toString());
+          if (fieldSpec.getDataType() == DataType.BYTES) {
+            for (Object value : values) {
+              bloomFilterCreator.add(BytesUtils.toHexString((byte[]) value));
+            }
+          } else {
+            for (Object value : values) {
+              bloomFilterCreator.add(value.toString());
+            }
           }
         }
       }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to