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