Skip to content

Commit 3f5a480

Browse files
clintropolissachinsagare
authored andcommitted
fix incorrect ColumnInspector in IncrementalIndex.makeColumnSelectorFactory (apache#12155)
(cherry picked from commit e0c4c56) Signed-off-by: ssagare <[email protected]>
1 parent cc1325d commit 3f5a480

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

indexing-hadoop/src/main/java/org/apache/druid/indexer/InputRowSerde.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import org.apache.druid.segment.DimensionHandlerUtils;
4040
import org.apache.druid.segment.VirtualColumns;
4141
import org.apache.druid.segment.column.ColumnType;
42-
import org.apache.druid.segment.column.RowSignature;
4342
import org.apache.druid.segment.column.ValueType;
4443
import org.apache.druid.segment.incremental.IncrementalIndex;
4544
import org.apache.druid.segment.serde.ComplexMetricSerde;
@@ -331,7 +330,7 @@ public static SerializeResult toBytes(
331330
writeString(k, out);
332331

333332
try (Aggregator agg = aggFactory.factorize(
334-
IncrementalIndex.makeColumnSelectorFactory(RowSignature.empty(), VirtualColumns.EMPTY, aggFactory, supplier, true)
333+
IncrementalIndex.makeColumnSelectorFactory(VirtualColumns.EMPTY, aggFactory, supplier, true)
335334
)) {
336335
try {
337336
agg.aggregate();

processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
import org.apache.druid.segment.column.ColumnCapabilitiesImpl;
7575
import org.apache.druid.segment.column.ColumnHolder;
7676
import org.apache.druid.segment.column.ColumnType;
77+
import org.apache.druid.segment.column.RowSignature;
7778
import org.apache.druid.segment.column.SimpleColumnHolder;
7879
import org.apache.druid.segment.column.ValueType;
7980
import org.apache.druid.segment.serde.ComplexMetricExtractor;
@@ -116,17 +117,18 @@ public abstract class IncrementalIndex extends AbstractIndex implements Iterable
116117
* @return column selector factory
117118
*/
118119
public static ColumnSelectorFactory makeColumnSelectorFactory(
119-
final ColumnInspector columnInspector,
120120
final VirtualColumns virtualColumns,
121121
final AggregatorFactory agg,
122122
final Supplier<InputRow> in,
123123
final boolean deserializeComplexMetrics
124124
)
125125
{
126+
// we use RowSignature.empty() because ColumnInspector here should be the InputRow schema, not the
127+
// IncrementalIndex schema, because we are reading values from the InputRow
126128
final RowBasedColumnSelectorFactory<InputRow> baseSelectorFactory = RowBasedColumnSelectorFactory.create(
127129
RowAdapters.standardRow(),
128130
in::get,
129-
columnInspector,
131+
RowSignature.empty(),
130132
true
131133
);
132134

@@ -1067,7 +1069,7 @@ protected ColumnSelectorFactory makeColumnSelectorFactory(
10671069
final boolean deserializeComplexMetrics
10681070
)
10691071
{
1070-
return makeColumnSelectorFactory(this, virtualColumns, agg, in, deserializeComplexMetrics);
1072+
return makeColumnSelectorFactory(virtualColumns, agg, in, deserializeComplexMetrics);
10711073
}
10721074

10731075
protected final Comparator<IncrementalIndexRow> dimsComparator()

0 commit comments

Comments
 (0)