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

Gunnar Morling updated KAFKA-8523:
----------------------------------
    Description: 
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.-

Update as per the discussion in the comments: tombstones should be left as-is 
by this SMT, as any insertion would defeat their purpose of enabling log 
compaction.

  was:
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.~~

Update as per the discussion in the comments: tombstones should be left as-is 
by this SMT, as any insertion would defeat their purpose of enabling log 
compaction.


> 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.-
> Update as per the discussion in the comments: tombstones should be left as-is 
> by this SMT, as any insertion would defeat their purpose of enabling log 
> compaction.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to