SEZ9 commented on issue #12966: URL: https://github.com/apache/seatunnel/issues/12966#issuecomment-6379839293
Thanks for the detailed report and analysis. Agreed that these are two independent points on the same path: 1. `CompatibleKafkaConnectDeserializationSchema` has no guard for a null record value, so a tombstone reaches `setRowKind` on a null row regardless of `format_error_handle_way`. 2. The `skip` path in `KafkaRecordEmitter` dereferences the same null value, so the offset never advances. As you note, that emitter half is tracked in #12926 and addressed by #12927; once that merges, `skip` should work for this format too, but the default `fail` mode will still break without a guard in the format itself. Since this is the same gap already reported for Avro (#12926) and Protobuf (#12952), it would be good if the fix handled a null value before any format-specific parsing runs, so a tombstone produces no row and the source moves past it, consistent with the `json` and `maxwell_json` formats. Keeping a zero-length value as a decode error, as you suggest, sounds right. Since you're willing to submit a PR, please go ahead, and include a tombstone test case covering both `fail` and `skip` modes. Thanks! <!-- streview-comment:1998 --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
