averemee-si / oracdc

Oracle database CDC (Change Data Capture)

Home Page:http://a2-solutions.eu/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

I have issue with some rows null in lob's col.

sonnguyen-dba opened this issue · comments

Hi Aleksej,
I have issue with some rows null in lob's col.

[2020-10-29 18:28:14,530] ERROR
WorkerSourceTask{id=oracdc-oracle-oracle-webcap-0} Task threw an
uncaught and unrecoverable exception
(org.apache.kafka.connect.runtime.WorkerTask:186)
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.WorkerSourceTask.convertTransformedRecord(WorkerSourceTask.java:297)
at
org.apache.kafka.connect.runtime.WorkerSourceTask.sendRecords(WorkerSourceTask.java:323)
at
org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:247)
at
org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:184)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:234)
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: Conversion
error: null value for field that is required and has no default value
at
org.apache.kafka.connect.json.JsonConverter.convertToJson(JsonConverter.java:611)
at
org.apache.kafka.connect.json.JsonConverter.convertToJson(JsonConverter.java:704)
at
org.apache.kafka.connect.json.JsonConverter.convertToJsonWithEnvelope(JsonConverter.java:592)
at
org.apache.kafka.connect.json.JsonConverter.fromConnectData(JsonConverter.java:346)
at
org.apache.kafka.connect.storage.Converter.fromConnectData(Converter.java:63)
at
org.apache.kafka.connect.runtime.WorkerSourceTask.lambda$convertTransformedRecord$2(WorkerSourceTask.java:297)
at
org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndRetry(RetryWithToleranceOperator.java:128)
at
org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:162)
... 11 more
[2020-10-29 18:28:14,532] ERROR
WorkerSourceTask{id=oracdc-oracle-oracle-webcap-0} Task is being killed
and will not recover until manually restarted
(org.apache.kafka.connect.runtime.WorkerTask:187)

Hi Son,

This can be related to how LogMiner generate redo statements for tables with LOB columns, i.e. instead of insert LogMiner generates insert with EMPTY_BLOB()/EMPTY_CLOB() call and then update with real LOB value (if in-row).
Could you please add to oracdc-oracle-oracle-webcap-0 connector configuration:

errors.tolerance=all 
errors.log.enable=true
errors.log.include.messages=true

re-run and connector and update this issue with diagnostic output.

Best regards,
Aleksej

Thanks Aleksej,
I just add
errors.tolerance=all
errors.log.enable=true
errors.log.include.messages=true
and re-run don't output error again. initload working

Regards,
Son

Hi Son,

Mea culpa - you need to set errors.tolerance to NONE, i.e.

errors.tolerance=all
errors.log.enable=true
errors.log.include.messages=true

Mille pardon!

Best regards,
Aleksej

Hi Aleksej,
I did set errors.tolerance to NONE, still working good
Regards,
Son