{"record":{"id":"dcc5348babb70f66","repo":"risingwavelabs/risingwave","slug":"unsupported-data-type-ty","errorCode":null,"errorMessage":"Unsupported data type `{ty}`","messagePattern":"Unsupported data type `(.+?)`","errorType":"exception","errorClass":"AccessError","httpStatus":null,"severity":"error","filePath":"src/connector/codec/src/decoder/mod.rs","lineNumber":36,"sourceCode":"pub mod utils;\n\nuse risingwave_common::error::NotImplemented;\nuse risingwave_common::types::{DataType, Datum, DatumCow, ToOwnedDatum};\nuse thiserror::Error;\nuse thiserror_ext::Macro;\n\n#[derive(Error, Debug, Macro)]\n#[thiserror_ext(macro(mangle, path = \"crate::decoder\"))]\npub enum AccessError {\n    #[error(\"Undefined field `{name}` at `{path}`\")]\n    Undefined { name: String, path: String },\n    #[error(\"Cannot parse value `{value}` with type `{got}` into expected type `{expected}`\")]\n    TypeError {\n        expected: String,\n        got: String,\n        value: String,\n    },\n    #[error(\"Unsupported data type `{ty}`\")]\n    UnsupportedType { ty: String },\n\n    /// CDC auto schema change specific error that may include table context\n    #[error(\"CDC auto schema change error: unsupported data type `{ty}` in table `{table_name}`\")]\n    CdcAutoSchemaChangeError { ty: String, table_name: String },\n\n    #[error(\"Unsupported additional column `{name}`\")]\n    UnsupportedAdditionalColumn { name: String },\n\n    #[error(\"Fail to convert protobuf Any into jsonb: {0}\")]\n    ProtobufAnyToJson(#[source] serde_json::Error),\n\n    /// Parquet parser specific errors\n    #[error(\"Parquet parser error: {message}\")]\n    ParquetParser { message: String },\n\n    /// Errors that are not categorized into variants above.\n    #[error(\"{message}\")]","sourceCodeStart":18,"sourceCodeEnd":54,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/codec/src/decoder/mod.rs#L18-L54","documentation":"AccessError::UnsupportedType in src/connector/codec/src/decoder/mod.rs:36. Thrown when the schema/decoder encounters a data type it does not support converting for the given encoding, carrying the unsupported type name `ty`.","triggerScenarios":"Decoding payloads whose schema contains type declarations outside the supported set for that decoder path — e.g. Avro/Protobuf/Debezium types that have no RisingWave mapping (complex unions, nested arrays of arrays in certain encodings, unknown logical types).","commonSituations":"Upstream added a new field with an exotic type (e.g. Avro `duration` logical type, Protobuf `Any`/`oneof` in an unsupported spot); CDC payloads with Debezium types not mapped by the Debezium→RW converter; upgrading a producer SDK that emits newer type descriptors.","solutions":["Change the upstream field type to one supported by RisingWave's encoder mapping (scalar types, structs, supported arrays)","Map the unsupported type at the producer side (e.g. serialize duration as BIGINT microseconds)","Read `ty` from the error, check RisingWave's supported type list for the encoding, and adjust the table schema accordingly","Upgrade RisingWave — newer versions extend type coverage"],"exampleFix":"// before (Avro)\n{\"name\": \"interval\", \"type\": {\"type\": \"fixed\", \"size\": 12, \"logicalType\": \"duration\"}}\n// after\n{\"name\": \"interval_micros\", \"type\": \"long\"}","handlingStrategy":"validation","validationCode":"const SUPPORTED: &[&str] = &[\"boolean\",\"integer\",\"bigint\",\"real\",\"double\",\"varchar\",\"date\",\"timestamp\",\"struct\",\"array\"];\nfn type_supported(ty: &str) -> bool { SUPPORTED.contains(&ty) }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check RisingWave's supported type matrix for the encoding before introducing new upstream fields","Map exotic upstream types (duration, geometry, unions) to supported scalars at the producer","Track RW version upgrades that extend type coverage"],"tags":["unsupported-type","decoder","schema"],"backgroundTag":"unsupported-dtype","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}