{"record":{"id":"6449467a72e7afe0","repo":"risingwavelabs/risingwave","slug":"unsupported-encoding-for-plain","errorCode":null,"errorMessage":"Unsupported encoding for Plain","messagePattern":"Unsupported encoding for Plain","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/connector/src/parser/plain_parser.rs","lineNumber":71,"sourceCode":"    ) -> ConnectorResult<Self> {\n        let key_builder = if let Some(key_column_name) = get_key_column_name(&rw_columns) {\n            Some(AccessBuilderImpl::Bytes(BytesAccessBuilder::new(\n                EncodingProperties::Bytes(BytesProperties {\n                    column_name: Some(key_column_name),\n                }),\n            )?))\n        } else {\n            None\n        };\n\n        let payload_builder = match props.encoding_config {\n            EncodingProperties::Json(_)\n            | EncodingProperties::Protobuf(_)\n            | EncodingProperties::Avro(_)\n            | EncodingProperties::Bytes(_) => {\n                AccessBuilderImpl::new_default(props.encoding_config).await?\n            }\n            _ => bail!(\"Unsupported encoding for Plain\"),\n        };\n\n        let transaction_meta_builder = Some(AccessBuilderImpl::DebeziumJson(\n            DebeziumJsonAccessBuilder::new(\n                TimestamptzHandling::GuessNumberUnit,\n                TimestampHandling::GuessNumberUnit,\n                TimeHandling::Micro,\n                BigintUnsignedHandlingMode::Long,\n                false,\n            )?,\n        ));\n\n        let schema_change_builder = Some(AccessBuilderImpl::DebeziumJson(\n            DebeziumJsonAccessBuilder::new_for_schema_event()?,\n        ));\n\n        Ok(Self {\n            key_builder,","sourceCodeStart":53,"sourceCodeEnd":89,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/parser/plain_parser.rs#L53-L89","documentation":"Raised in `PlainParser::new` when `FORMAT PLAIN` is configured with an encoding whose access builder is not supported. Plain (append-only) parsing only supports Json, Protobuf, Avro, and Bytes encodings; any other `EncodingProperties` variant (e.g. Debezium/DebeziumAvro/Maxwell/Canal-style encodings) is rejected at source creation time.","triggerScenarios":"Creating a source with `FORMAT PLAIN` combined with an unsupported encoding — for instance `FORMAT PLAIN ENCODE DEBEZIUM-JSON` or any encoding variant not in {Json, Protobuf, Avro, Bytes}.","commonSituations":"Misconfigured CREATE SOURCE statement pairing PLAIN with Debezium encodings; users intending CDC but choosing the wrong format; copy-pasted DDL from a Debezium example missing the ENCODE clause adjustment.","solutions":["Use a supported encoding for FORMAT PLAIN: ENCODE JSON, PROTOBUF, AVRO, or BYTES.","If the data is Debezium change events, use `FORMAT DEBEZIUM-JSON` (or the matching Debezium format) instead of PLAIN.","Check the source DDL's FORMAT/ENCODE clauses and recreate the source with a valid combination."],"exampleFix":"// before: invalid combination\nCREATE SOURCE s (...) WITH (...) FORMAT PLAIN ENCODE DEBEZIUM-JSON;\n// after: pick the right format\nCREATE SOURCE s (...) WITH (...) FORMAT DEBEZIUM-JSON ENCODE JSON;\n-- or: FORMAT PLAIN ENCODE JSON for append-only streams","handlingStrategy":"validation","validationCode":"-- Validate FORMAT/ENCODE combination before running DDL:\n-- PLAIN supports only ENCODE JSON | PROTOBUF | AVRO | BYTES.\n-- Debezium change streams must use FORMAT DEBEZIUM-JSON (or DEBEZIUM-AVRO).","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Match FORMAT to the data: PLAIN for append-only, DEBEZIUM-* for CDC envelopes.","Consult the RisingWave source format compatibility matrix when writing DDL.","Test source creation with CREATE ... on a staging cluster before production."],"tags":["kafka","parser","encoding","configuration"],"backgroundTag":"unsupported-enum-value","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"}