ege-st commented on code in PR #11776: URL: https://github.com/apache/pinot/pull/11776#discussion_r1367008759
########## pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/SegmentColumnarIndexCreator.java: ########## @@ -328,12 +332,76 @@ public void indexRow(GenericRow row) String columnName = entry.getKey(); // If row has null value for given column name, add to null value vector if (row.isNullValue(columnName)) { - _nullValueVectorCreatorMap.get(columnName).setNull(_docIdCounter); + _nullValueVectorCreatorMap.get(columnName).setNull(_docPosOnDisk); } } } - _docIdCounter++; + _docPosOnDisk++; + } + + @Override + public void indexColumn(String columnName, @Nullable int[] sortedDocIds, IndexSegment segment, + boolean skipDefaultNullValues) + throws IOException { + long startNS = System.nanoTime(); + + // Iterate over each value in the column + try (PinotSegmentColumnReader colReader = new PinotSegmentColumnReader(segment, columnName)) { + int numDocs = segment.getSegmentMetadata().getTotalDocs(); + Map<IndexType<?, ?, ?>, IndexCreator> creatorsByIndex = _creatorsByColAndIndex.get(columnName); + NullValueVectorCreator nullVec = _nullValueVectorCreatorMap.get(columnName); + FieldSpec fieldSpec = _schema.getFieldSpecFor(columnName); + SegmentDictionaryCreator dictionaryCreator = _dictionaryCreatorMap.get(columnName); + if (sortedDocIds != null) { + int onDiskDocId = 0; + for (int docId : sortedDocIds) { + indexColumnValue(colReader, creatorsByIndex, columnName, fieldSpec, dictionaryCreator, docId, onDiskDocId, Review Comment: Good catch. Testing this right now. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org