{"record":{"id":"d31b7e151b0d6331","repo":"apache/seatunnel","slug":"unsupported-type-d31b7e","errorCode":null,"errorMessage":"Unsupported type: ","messagePattern":"Unsupported type: ","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-kudu/src/main/java/org/apache/seatunnel/connectors/seatunnel/kudu/util/KuduUtil.java","lineNumber":287,"sourceCode":"                    return Short.valueOf(value);\n                case INT32:\n                    return Integer.valueOf(value);\n                case INT64:\n                    return Long.valueOf(value);\n                case STRING:\n                    return value.startsWith(\"'\") && value.endsWith(\"'\")\n                            ? value.substring(1, value.length() - 1)\n                            : value;\n                case BOOL:\n                    return Boolean.valueOf(value);\n                case UNIXTIME_MICROS:\n                    return new java.sql.Timestamp(Long.parseLong(value));\n                case FLOAT:\n                    return Float.valueOf(value);\n                case DOUBLE:\n                    return Double.valueOf(value);\n                default:\n                    throw new IllegalArgumentException(\"Unsupported type: \" + type);\n            }\n        } catch (NumberFormatException e) {\n            throw new KuduConnectorException(\n                    CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,\n                    \"Failed to parse value '\" + value + \"' as type \" + type,\n                    e);\n        }\n    }\n}\n","sourceCodeStart":269,"sourceCodeEnd":297,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-kudu/src/main/java/org/apache/seatunnel/connectors/seatunnel/kudu/util/KuduUtil.java#L269-L297","documentation":"KuduUtil.parseValue converts the string value of a filter predicate into a Java object matching the Kudu column type (BYTE/SHORT/INT/LONG, STRING, BOOLEAN, TIMESTAMP, FLOAT, DOUBLE). When the column's Kudu type is not among the handled cases (e.g. BINARY, DECIMAL, DATE, UNIXTIME_MICROS variants depending on version), it throws an IllegalArgumentException 'Unsupported type: <type>'.","triggerScenarios":"A filter predicate is applied to a Kudu column whose type has no parsing branch in parseValue, most commonly BINARY, DECIMAL, or DATE columns.","commonSituations":"Filtering on a BINARY or DECIMAL column with the string-based filter syntax; connector version predates support for newer Kudu types; users assume all column types are filterable via this util.","solutions":["Remove the predicate on the unsupported-typed column, or filter those rows after reading","Cast/relocate the data to a supported column type (e.g. STRING instead of BINARY) if range filtering is essential","Extend parseValue with a case for the missing Kudu type and rebuild the connector"],"exampleFix":"// before\n\"filters\": [\"binary_col = 'abc'\"]\n// after: filter on a supported column\n\"filters\": [\"id > 100\"]","handlingStrategy":"validation","validationCode":"Set<org.apache.kudu.Type> SUPPORTED = Set.of(\n    Type.INT8, Type.INT16, Type.INT32, Type.INT64, Type.STRING,\n    Type.BOOL, Type.UNIXTIME_MICROS, Type.FLOAT, Type.DOUBLE);\nif (!SUPPORTED.contains(schema.getColumn(col).getType())) {\n    // skip predicate or handle before calling addPredicates\n}","typeGuard":null,"tryCatchPattern":"try {\n    parsed = kuduUtil.parseValue(type, value);\n} catch (IllegalArgumentException e) {\n    // remove predicate on this column or filter client-side\n}","preventionTips":["Only build scan predicates on columns with supported Kudu types","Avoid predicate filters on BINARY/DECIMAL columns","Check connector version for newly supported types before upgrading filters","Handle unsupported-typed columns with post-read filtering"],"tags":["kudu","type-mismatch","filters"],"backgroundTag":"unsupported-dtype","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}