You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ne...@apache.org on 2022/12/02 03:24:50 UTC

[pinot] branch master updated: Fix bloom filter creation on BYTES (#9898)

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 <17...@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-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org