{"record":{"id":"a4acc295cb6a5b16","repo":"apache/flink","slug":"is-not-supported-now","errorCode":null,"errorMessage":"{} is not supported now.","messagePattern":"(.+?) is not supported now\\.","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"flink-formats/flink-parquet/src/main/java/org/apache/flink/formats/parquet/vector/ParquetSplitReaderUtil.java","lineNumber":378,"sourceCode":"                    case INT64:\n                        return new LongColumnReader(\n                                descriptors.get(0), pages.getPageReader(descriptors.get(0)));\n                    case BINARY:\n                        return new BytesColumnReader(\n                                descriptors.get(0), pages.getPageReader(descriptors.get(0)));\n                    case FIXED_LEN_BYTE_ARRAY:\n                        return new FixedLenBytesColumnReader(\n                                descriptors.get(0),\n                                pages.getPageReader(descriptors.get(0)),\n                                ((DecimalType) fieldType).getPrecision());\n                }\n            case ARRAY:\n            case MAP:\n            case MULTISET:\n            case ROW:\n                return new NestedColumnReader(isUtcTimestamp, pages, field);\n            default:\n                throw new UnsupportedOperationException(fieldType + \" is not supported now.\");\n        }\n    }\n\n    public static WritableColumnVector createWritableColumnVector(\n            int batchSize,\n            LogicalType fieldType,\n            Type type,\n            List<ColumnDescriptor> columnDescriptors,\n            int depth) {\n        List<ColumnDescriptor> descriptors =\n                getAllColumnDescriptorByType(depth, type, columnDescriptors);\n        PrimitiveType primitiveType = descriptors.get(0).getPrimitiveType();\n        PrimitiveType.PrimitiveTypeName typeName = primitiveType.getPrimitiveTypeName();\n        switch (fieldType.getTypeRoot()) {\n            case BOOLEAN:\n                checkArgument(\n                        typeName == PrimitiveType.PrimitiveTypeName.BOOLEAN,\n                        \"Unexpected type: %s\",","sourceCodeStart":360,"sourceCodeEnd":396,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-formats/flink-parquet/src/main/java/org/apache/flink/formats/parquet/vector/ParquetSplitReaderUtil.java#L360-L396","documentation":"UnsupportedOperationException from the default branch of createColumnReader in ParquetSplitReaderUtil. The factory maps logical types to column readers (primitives via their Parquet physical type, ARRAY/MAP/MULTISET/ROW via NestedColumnReader); any other LogicalTypeRoot reaches the throw with the offending type in the message.","triggerScenarios":"createColumnReader(...) called with a fieldType outside the supported set - e.g. DISTINCT_TYPE, STRUCTURED_TYPE, SYMBOL, RAW, UNRESOLVED, or TIMESTAMP variants whose physical Parquet type has no branch in that Flink version.","commonSituations":"Table schemas carrying user-defined/structured types or RAW types over Parquet; reading Parquet written by newer writers whose logical type annotations the older Flink reader does not map; incomplete type support in the vectorized path of a given release.","solutions":["Remove or cast the unsupported column out of the Parquet table schema","Upgrade Flink to a version whose ParquetSplitReaderUtil supports the logical type (support grows release over release)","Store the exotic column in a different format (e.g. JSON/AVRO string encoding) and parse downstream"],"exampleFix":"-- before\nCREATE TABLE t (k INT, u DISTINCT_TYPE_OF_INT) WITH ('format'='parquet');\n-- after: store as plain INT\nCREATE TABLE t (k INT, u INT) WITH ('format'='parquet');","handlingStrategy":"type-guard","validationCode":null,"typeGuard":"static boolean isParquetReadableType(LogicalTypeRoot root) {\n    return root == LogicalTypeRoot.CHAR || root == LogicalTypeRoot.VARCHAR\n            || root == LogicalTypeRoot.BOOLEAN || root == LogicalTypeRoot.BINARY_STRING_OR_NONE\n            || root == LogicalTypeRoot.TINYINT || root == LogicalTypeRoot.SMALLINT\n            || root == LogicalTypeRoot.INTEGER || root == LogicalTypeRoot.BIGINT\n            || root == LogicalTypeRoot.FLOAT || root == LogicalTypeRoot.DOUBLE\n            || root == LogicalTypeRoot.DATE || root == LogicalTypeRoot.TIME_WITHOUT_TIME_ZONE\n            || root == LogicalTypeRoot.TIMESTAMP_WITHOUT_TIME_ZONE\n            || root == LogicalTypeRoot.TIMESTAMP_WITH_LOCAL_TIME_ZONE\n            || root == LogicalTypeRoot.DECIMAL\n            || root == LogicalTypeRoot.ARRAY || root == LogicalTypeRoot.MAP\n            || root == LogicalTypeRoot.MULTISET || root == LogicalTypeRoot.ROW;\n}","tryCatchPattern":"catch (UnsupportedOperationException e) { if (e.getMessage().endsWith(\"is not supported now.\")) { /* remove or cast the column, or upgrade Flink */ } else throw e; }","preventionTips":["Keep Parquet table schemas to the standard SQL types supported by your Flink version","Smoke-test full schema reads in CI against the exact Flink version in production"],"tags":["parquet","unsupported-type","flink"],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}