Randall Hauch created KAFKA-9763: ------------------------------------ Summary: Recent changes to Connect's InsertField will fail to inject field on key of tombstone record Key: KAFKA-9763 URL: https://issues.apache.org/jira/browse/KAFKA-9763 Project: Kafka Issue Type: Bug Components: KafkaConnect Affects Versions: 2.3.1, 2.4.0, 2.2.2, 1.0.3, 1.1.2, 2.0.2, 2.1.2, 2.5.0 Reporter: Randall Hauch Assignee: Randall Hauch Fix For: 1.0.3, 1.1.2, 2.0.2, 2.1.2, 2.2.3, 2.3.2, 2.4.2, 2.5.1
This is a regression due to the changes for KAFKA-8523. KAFKA-8523 was backported to multiple versions, and was released into 2.2.2, 2.3.1, and 2.4.0, and will soon be released in 2.5.0. Unfortunately, that fix always makes the `InsertField` SMT skip all tombstone records, even when using the `InsertField$Key`. Rather than: {code:java} private boolean isTombstoneRecord(R record) { return record.value() == null; } {code} the correct behavior would be: {code:java} private boolean isTombstoneRecord(R record) { return operatingValue(record) == null; } {code} The method no longer detects just tombstone methods, so the code should be refactored to return the record if the operatingValue for the record (which for `InsertField$Key` is the record key and for `InsertField$Value` is the record value) is null. -- This message was sent by Atlassian Jira (v8.3.4#803005)