[ https://issues.apache.org/jira/browse/KAFKA-9204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16979662#comment-16979662 ]
Lev Zemlyanov commented on KAFKA-9204: -------------------------------------- issued [https://github.com/apache/kafka/pull/7731] as a fix, similar to the fix for InsertField found in [https://github.com/apache/kafka/pull/6914] this fix however passes the record through for both null keys and null values > ReplaceField transformation fails when encountering tombstone event > ------------------------------------------------------------------- > > Key: KAFKA-9204 > URL: https://issues.apache.org/jira/browse/KAFKA-9204 > Project: Kafka > Issue Type: Bug > Components: KafkaConnect > Affects Versions: 2.3.0 > Reporter: Georgios Kalogiros > Priority: Major > > When applying the {{ReplaceField}} transformation to a tombstone event, an > exception is raised: > > {code:java} > org.apache.kafka.connect.errors.ConnectException: Tolerance exceeded in error > handler > at > org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:178) > at > org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execute(RetryWithToleranceOperator.java:104) > at > org.apache.kafka.connect.runtime.TransformationChain.apply(TransformationChain.java:50) > at > org.apache.kafka.connect.runtime.WorkerSinkTask.convertAndTransformRecord(WorkerSinkTask.java:506) > at > org.apache.kafka.connect.runtime.WorkerSinkTask.convertMessages(WorkerSinkTask.java:464) > at > org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:320) > at > org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:224) > at > org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:192) > at > org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:177) > at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:227) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > Caused by: org.apache.kafka.connect.errors.DataException: Only Map objects > supported in absence of schema for [field replacement], found: null > at > org.apache.kafka.connect.transforms.util.Requirements.requireMap(Requirements.java:38) > at > org.apache.kafka.connect.transforms.ReplaceField.applySchemaless(ReplaceField.java:134) > at > org.apache.kafka.connect.transforms.ReplaceField.apply(ReplaceField.java:127) > at > org.apache.kafka.connect.runtime.TransformationChain.lambda$apply$0(TransformationChain.java:50) > at > org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndRetry(RetryWithToleranceOperator.java:128) > at > org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:162) > ... 14 more > {code} > There was a similar bug for the InsertField transformation that got merged in > recently: > https://issues.apache.org/jira/browse/KAFKA-8523 > -- This message was sent by Atlassian Jira (v8.3.4#803005)