Github user kevinjmh commented on a diff in the pull request: https://github.com/apache/carbondata/pull/2526#discussion_r203986298 --- Diff: datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/AbstractBloomDataMapWriter.java --- @@ -129,8 +130,12 @@ protected void addValue2BloomIndex(int indexColIdx, Object value) { // convert non-dict dimensions to simple bytes without length // convert internal-dict dimensions to simple bytes without any encode if (indexColumns.get(indexColIdx).isMeasure()) { - if (value == null) { - value = DataConvertUtil.getNullValueForMeasure(indexColumns.get(indexColIdx).getDataType()); + // NULL value of all measures are already processed in `ColumnPage.getData` + // or `RawBytesReadSupport.readRow` with actual data type + + // Carbon stores boolean as byte. Here we convert it for `getValueAsBytes` + if (value instanceof Boolean) { --- End diff -- Yes. FYI, column of boolean type uses column page with inner datatype Byte, and some disagreement on DataType exists between `getData` and `getNull`. I will changed that.
---