apache/flink · error · UnsupportedOperationException

Partition sorting does not support type

Error message

Partition sorting does not support type {} yet.

What it means

Thrown by SortPartitionOperatorBase.executeOnCollections when the input TypeInformation is neither CompositeType nor AtomicType, so no sort comparator can be built from the partition ordering's field positions. The unsupported input type is the one flowing into the sortPartition operator in the collection (local) execution path.

Solutions

  1. Address the cause reported by the error message: Partition sorting does not support type the reported value yet.
  2. Verify the inputs, configuration values, and classpath/dependency setup related to this operation, then retry.

Example fix

Correct the condition described ("Partition sorting does not support type the reported value yet.") and rerun the job or command.
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Triggered at runtime when the operation fails because: Partition sorting does not support type the reported value yet.

Common situations: Commonly caused by misconfiguration, missing dependencies or files, unsupported types or operations, or invalid user input leading to: Partition sorting does not support type the reported value yet.


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

Appendix: source

Thrown at flink-core/src/main/java/org/apache/flink/api/common/operators/base/SortPartitionOperatorBase.java:84

    @Override
    protected List<IN> executeOnCollections(
            List<IN> inputData, RuntimeContext runtimeContext, ExecutionConfig executionConfig) {

        TypeInformation<IN> inputType = getInput().getOperatorInfo().getOutputType();

        int[] sortColumns = this.partitionOrdering.getFieldPositions();
        boolean[] sortOrderings = this.partitionOrdering.getFieldSortDirections();

        final TypeComparator<IN> sortComparator;
        if (inputType instanceof CompositeType) {
            sortComparator =
                    ((CompositeType<IN>) inputType)
                            .createComparator(sortColumns, sortOrderings, 0, executionConfig);
        } else if (inputType instanceof AtomicType) {
            sortComparator =
                    ((AtomicType) inputType).createComparator(sortOrderings[0], executionConfig);
        } else {
            throw new UnsupportedOperationException(
                    "Partition sorting does not support type " + inputType + " yet.");
        }

        Collections.sort(
                inputData,
                new Comparator<IN>() {
                    @Override
                    public int compare(IN o1, IN o2) {
                        return sortComparator.compare(o1, o2);
                    }
                });

        return inputData;
    }
}

View on GitHub (pinned to 2f3c205e92)