apache/flink · error · UnsupportedOperationException

Unsupported vector

Error message

Unsupported vector: {}

What it means

Type guard over ORC's ColumnVector hierarchy in createFlinkVector: the runtime vector class (e.g. a hive-specific or novel ORC vector type) matches none of the instanceof branches, so no Flink ColumnVector wrapper exists for it and the read path cannot proceed.

Solutions

  1. Address the cause reported by the error message: Unsupported vector: the reported value
  2. Verify the inputs, configuration values, and classpath/dependency setup related to this operation, then retry.

Example fix

Correct the condition described ("Unsupported vector: the reported value") and rerun the job or command.
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Triggered at runtime when the operation fails because: Unsupported vector: the reported value.

Common situations: Commonly caused by misconfiguration, missing dependencies or files, unsupported types or operations, or invalid user input leading to: Unsupported vector: the reported value.


AI-assisted analysis of apache/flink@2f3c205e92 (2026-08-14). Data as JSON: /api/errors/f81258e9711d19c8. Report an issue: GitHub.

Appendix: source

Thrown at flink-formats/flink-orc/src/main/java/org/apache/flink/orc/vector/AbstractOrcColumnVector.java:84

            } else {
                return new OrcLongColumnVector((LongColumnVector) vector);
            }
        } else if (vector instanceof DoubleColumnVector) {
            return new OrcDoubleColumnVector((DoubleColumnVector) vector);
        } else if (vector instanceof BytesColumnVector) {
            return new OrcBytesColumnVector((BytesColumnVector) vector);
        } else if (vector instanceof DecimalColumnVector) {
            return new OrcDecimalColumnVector((DecimalColumnVector) vector);
        } else if (TimestampUtil.isHiveTimestampColumnVector(vector)) {
            return new OrcTimestampColumnVector(vector);
        } else if (vector instanceof ListColumnVector) {
            return new OrcArrayColumnVector((ListColumnVector) vector, (ArrayType) logicalType);
        } else if (vector instanceof StructColumnVector) {
            return new OrcRowColumnVector((StructColumnVector) vector, (RowType) logicalType);
        } else if (vector instanceof MapColumnVector) {
            return new OrcMapColumnVector((MapColumnVector) vector, (MapType) logicalType);
        } else {
            throw new UnsupportedOperationException(
                    "Unsupported vector: " + vector.getClass().getName());
        }
    }

    /** Create flink vector by hive vector from constant. */
    public static org.apache.flink.table.data.columnar.vector.ColumnVector
            createFlinkVectorFromConstant(LogicalType type, Object value, int batchSize) {
        return createFlinkVector(createHiveVectorFromConstant(type, value, batchSize), type);
    }

    /**
     * Create a orc vector from partition spec value. See hive {@code
     * VectorizedRowBatchCtx#addPartitionColsToBatch}.
     */
    private static ColumnVector createHiveVectorFromConstant(
            LogicalType type, Object value, int batchSize) {
        switch (type.getTypeRoot()) {
            case CHAR:

View on GitHub (pinned to 2f3c205e92)