Skip to content

Commit

Permalink
fix incorrect ColumnInspector in IncrementalIndex.makeColumnSelectorF…
Browse files Browse the repository at this point in the history
…actory (#12155)
  • Loading branch information
clintropolis committed Jan 14, 2022
1 parent eb4fafe commit e0c4c56
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
import org.apache.druid.segment.DimensionHandlerUtils;
import org.apache.druid.segment.VirtualColumns;
import org.apache.druid.segment.column.ColumnType;
import org.apache.druid.segment.column.RowSignature;
import org.apache.druid.segment.column.ValueType;
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetricSerde;
Expand Down Expand Up @@ -331,7 +330,7 @@ public static SerializeResult toBytes(
writeString(k, out);

try (Aggregator agg = aggFactory.factorize(
IncrementalIndex.makeColumnSelectorFactory(RowSignature.empty(), VirtualColumns.EMPTY, aggFactory, supplier, true)
IncrementalIndex.makeColumnSelectorFactory(VirtualColumns.EMPTY, aggFactory, supplier, true)
)) {
try {
agg.aggregate();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
import org.apache.druid.segment.column.ColumnCapabilitiesImpl;
import org.apache.druid.segment.column.ColumnHolder;
import org.apache.druid.segment.column.ColumnType;
import org.apache.druid.segment.column.RowSignature;
import org.apache.druid.segment.column.ValueType;
import org.apache.druid.segment.serde.ComplexMetricExtractor;
import org.apache.druid.segment.serde.ComplexMetricSerde;
Expand Down Expand Up @@ -112,17 +113,18 @@ public abstract class IncrementalIndex extends AbstractIndex implements Iterable
* @return column selector factory
*/
public static ColumnSelectorFactory makeColumnSelectorFactory(
final ColumnInspector columnInspector,
final VirtualColumns virtualColumns,
final AggregatorFactory agg,
final Supplier<InputRow> in,
final boolean deserializeComplexMetrics
)
{
// we use RowSignature.empty() because ColumnInspector here should be the InputRow schema, not the
// IncrementalIndex schema, because we are reading values from the InputRow
final RowBasedColumnSelectorFactory<InputRow> baseSelectorFactory = RowBasedColumnSelectorFactory.create(
RowAdapters.standardRow(),
in::get,
columnInspector,
RowSignature.empty(),
true
);

Expand Down Expand Up @@ -1019,7 +1021,7 @@ protected ColumnSelectorFactory makeColumnSelectorFactory(
final boolean deserializeComplexMetrics
)
{
return makeColumnSelectorFactory(this, virtualColumns, agg, in, deserializeComplexMetrics);
return makeColumnSelectorFactory(virtualColumns, agg, in, deserializeComplexMetrics);
}

protected final Comparator<IncrementalIndexRow> dimsComparator()
Expand Down

0 comments on commit e0c4c56

Please sign in to comment.