[
https://issues.apache.org/jira/browse/KAFKA-8523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16932686#comment-16932686
]
Randall Hauch commented on KAFKA-8523:
--------------------------------------
[~frederic.tardif], thanks for the comment.
[~gunnar.morling]'s last comment was:
{quote}
So I would suggest I simply update my PR so that it passes on tombstones
unmodified and that should be good enough.
{quote}
As mentioned above, I agree with this approach: *tombstones should be left
as-is and not modified*. Note that [~gunnar.morling] hasn't yet updated the PR,
but it will not be merged until that happens.
Second, any new configuration on any SMT would be prefixed in the connector
config with `transforms.<name>.`, and thus it would not clash with any
existing connector or SMT configuration. For example, *+_if_+* we were to add a
new SMT property named `behavior.on.null.values`, then it would be used in a
connector configuration like:
{code:java}
transforms=MyInsertField
transforms.MyInsertField.class=org.apache.kafka.connect.transforms.InsertField
transforms.MyInsertField.behavior.on.null.values=skip
{code}
*However, as mentioned above, both Gunnar and I agreed above that we don't
think a new configuration is necessary*.
> InsertField transformation fails when encountering tombstone event
> ------------------------------------------------------------------
>
> Key: KAFKA-8523
> URL: https://issues.apache.org/jira/browse/KAFKA-8523
> Project: Kafka
> Issue Type: Bug
> Components: KafkaConnect
> Reporter: Gunnar Morling
> Priority: Major
> Attachments: image-2019-09-17-15-53-44-038.png
>
>
> When applying the {{InsertField}} transformation to a tombstone event, an
> exception is raised:
> {code}
> org.apache.kafka.connect.errors.DataException: Only Map objects supported in
> absence of schema for [field insertion], found: null
> at
> org.apache.kafka.connect.transforms.util.Requirements.requireMap(Requirements.java:38)
> at
> org.apache.kafka.connect.transforms.InsertField.applySchemaless(InsertField.java:138)
> at
> org.apache.kafka.connect.transforms.InsertField.apply(InsertField.java:131)
> at
> org.apache.kafka.connect.transforms.InsertFieldTest.tombstone(InsertFieldTest.java:128)
> {code}
> AFAICS, the transform can still be made working in in this case by simply
> building up a new value map from scratch.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)