You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Georgios Kalogiros (Jira)" <ji...@apache.org> on 2019/11/18 11:12:00 UTC

[jira] [Created] (KAFKA-9204) ReplaceField transformation fails when encountering tombstone event

Georgios Kalogiros created KAFKA-9204:
-----------------------------------------

             Summary: 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
            Reporter: Georgios Kalogiros
             Fix For: 2.3.0


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)