[ 
https://issues.apache.org/jira/browse/KAFKA-7157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16788436#comment-16788436
 ] 

Jeff Beagley commented on KAFKA-7157:
-------------------------------------

Never programmed java before, but I gave it my best shot; I basically just 
checked for null, and if so returned null from the transformation. I kept 
landing with the same error. This is using Avro with the schema below
{code:java}
Caused by: org.apache.kafka.connect.errors.DataException: Invalid value: null 
used for required field: "nullable_date", schema type: INT64
{code}
!https://www.freeformatter.com/3.4.0.2/img/minus.gif!
"type": "record","name": "Envelope","namespace": 
"mssql.dbo.test_dates_t","fields": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name":
 "before","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null",{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"type":
 "record","name": "Value","fields": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name":
 "id","type": 
"int"},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"non_nullable_date","type": 
{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"type": 
"long","connect.version": 1,"connect.name": 
"io.debezium.time.Timestamp"}},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name":
 "nullable_date","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null",{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"type":
 "long","connect.version": 1,"connect.name": 
"io.debezium.time.Timestamp"}],"default": null}],"connect.name": 
"mssql.dbo.test_dates_t.Value"}],"default": 
null},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"after","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null","Value"],"default":
 null},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"source","type": {!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"type": 
"record","name": "Source","namespace": 
"io.debezium.connector.sqlserver","fields": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name":
 "version","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null","string"],"default":
 null},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"connector","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null","string"],"default":
 null},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"name","type": 
"string"},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"ts_ms","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null","long"],"default": 
null},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"change_lsn","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null","string"],"default":
 null},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"commit_lsn","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null","string"],"default":
 null},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"snapshot","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null","boolean"],"default":
 null}],"connect.name": 
"io.debezium.connector.sqlserver.Source"}},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name":
 "op","type": 
"string"},{!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"name": 
"ts_ms","type": 
[!https://www.freeformatter.com/3.4.0.2/img/minus.gif!"null","long"],"default": 
null}],"connect.name": "mssql.dbo.test_dates_t.Envelope"}

> Connect TimestampConverter SMT doesn't handle null values
> ---------------------------------------------------------
>
>                 Key: KAFKA-7157
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7157
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 0.10.2.0
>            Reporter: Randall Hauch
>            Assignee: Valeria Vasylieva
>            Priority: Major
>
> TimestampConverter SMT is not able to handle null values (in any versions), 
> so it's always trying to apply the transformation to the value. Instead, it 
> needs to check for null and use the default value for the new schema's field.
> {noformat}
> [2018-07-03 02:31:52,490] ERROR Task MySourceConnector-2 threw an uncaught 
> and unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask) 
> java.lang.NullPointerException 
> at 
> org.apache.kafka.connect.transforms.TimestampConverter$2.toRaw(TimestampConverter.java:137)
>  
> at 
> org.apache.kafka.connect.transforms.TimestampConverter.convertTimestamp(TimestampConverter.java:440)
>  
> at 
> org.apache.kafka.connect.transforms.TimestampConverter.applyValueWithSchema(TimestampConverter.java:368)
>  
> at 
> org.apache.kafka.connect.transforms.TimestampConverter.applyWithSchema(TimestampConverter.java:358)
>  
> at 
> org.apache.kafka.connect.transforms.TimestampConverter.apply(TimestampConverter.java:275)
>  
> at 
> org.apache.kafka.connect.runtime.TransformationChain.apply(TransformationChain.java:38)
>  
> at 
> org.apache.kafka.connect.runtime.WorkerSinkTask.convertMessages(WorkerSinkTask.java:435)
>  
> at 
> org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:264) 
> at 
> org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:182)
>  
> at 
> org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:150)
>  
> at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:146) 
> at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:190) 
> 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) 
> [2018-07-03 02:31:52,491] ERROR Task is being killed and will not recover 
> until manually restarted (org.apache.kafka.connect.runtime.WorkerTask) 
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to