Github user ravipesala commented on a diff in the pull request: https://github.com/apache/carbondata/pull/2978#discussion_r240553152 --- Diff: core/src/main/java/org/apache/carbondata/core/datastore/chunk/store/impl/safe/AbstractNonDictionaryVectorFiller.java --- @@ -83,20 +84,37 @@ public StringVectorFiller(int numberOfRows, int actualDataLength) { @Override public void fillVector(byte[] data, CarbonColumnVector vector) { // start position will be used to store the current data position + boolean invertedIndex = vector instanceof ColumnarVectorWrapperDirectWithInvertedIndex + || vector instanceof SequentialFill; + int localOffset = 0; ByteUtil.UnsafeComparer comparator = ByteUtil.UnsafeComparer.INSTANCE; - for (int i = 0; i < numberOfRows; i++) { - int length = (((data[localOffset] & 0xFF) << 8) | (data[localOffset + 1] & 0xFF)); - localOffset += 2; - if (comparator.equals(CarbonCommonConstants.MEMBER_DEFAULT_VAL_ARRAY, 0, - CarbonCommonConstants.MEMBER_DEFAULT_VAL_ARRAY.length, data, localOffset, length)) { - vector.putNull(i); - } else { - vector.putArray(i, localOffset, length); + if (invertedIndex) { --- End diff -- ok
---