apache/druid · error · org.apache.druid.java.util.common.IAE

could not find the column type for column

Error message

could not find the column type for column %s

What it means

Vectorized-engine setup failure in FixedBucketsHistogramAggregatorFactory.factorizeVector: the column capabilities for the configured fieldName could not be resolved from the selector factory, so the vector aggregator cannot determine how to read the column. Typically the column does not exist in the segment being queried.

Solutions

  1. Verify the fieldName in the aggregation spec matches an existing column in the segments.
  2. Check for segment/schema drift where some segments lack the histogram column.
  3. Disable vectorization or fall back to the non-vector aggregator path if capabilities are unavailable.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/FixedBucketsHistogramAggregatorFactory.java:113 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07). Data as JSON: /api/errors/20869b8170c094c1. Report an issue: GitHub.

Appendix: source

Thrown at extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/FixedBucketsHistogramAggregatorFactory.java:113

  @Override
  public BufferAggregator factorizeBuffered(ColumnSelectorFactory metricFactory)
  {
    return new FixedBucketsHistogramBufferAggregator(
        metricFactory.makeColumnValueSelector(fieldName),
        lowerLimit,
        upperLimit,
        numBuckets,
        outlierHandlingMode
    );
  }

  @Override
  public VectorAggregator factorizeVector(VectorColumnSelectorFactory columnSelectorFactory)
  {
    ColumnCapabilities capabilities = columnSelectorFactory.getColumnCapabilities(fieldName);
    if (null == capabilities) {
      throw new IAE("could not find the column type for column %s", fieldName);
    }
    if (capabilities.isNumeric()) {
      return new FixedBucketsHistogramVectorAggregator(
          columnSelectorFactory.makeValueSelector(fieldName),
          lowerLimit,
          upperLimit,
          numBuckets,
          outlierHandlingMode
      );
    } else {
      throw new IAE("cannot vectorize fixed bucket histogram aggregation for type %s", capabilities.asTypeString());
    }
  }

  @Override
  public boolean canVectorize(ColumnInspector columnInspector)
  {
    ColumnCapabilities capabilities = columnInspector.getColumnCapabilities(fieldName);

View on GitHub (pinned to 9b90983fd2)