[jira] [Resolved] (KAFKA-9763) Recent changes to Connect's InsertField will fail to inject field on key of tombstone record

2020-07-17 Thread John Roesler (Jira)


 [ 
https://issues.apache.org/jira/browse/KAFKA-9763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

John Roesler resolved KAFKA-9763.
-
Resolution: Fixed

> 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: 1.0.3, 1.1.2, 2.0.2, 2.1.2, 2.2.2, 2.4.0, 2.3.1, 2.5.0
>Reporter: Randall Hauch
>Assignee: Randall Hauch
>Priority: Major
> 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)


[jira] [Resolved] (KAFKA-9763) Recent changes to Connect's InsertField will fail to inject field on key of tombstone record

2020-03-25 Thread Randall Hauch (Jira)


 [ 
https://issues.apache.org/jira/browse/KAFKA-9763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Randall Hauch resolved KAFKA-9763.
--
Resolution: Duplicate

Duplicate of KAFKA-9707, so closing this issue.

> 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: 1.0.3, 1.1.2, 2.0.2, 2.1.2, 2.2.2, 2.4.0, 2.3.1, 2.5.0
>Reporter: Randall Hauch
>Assignee: Randall Hauch
>Priority: Major
> 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)