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]

Reply via email to