Hi All,
I am using the Oracle XStream connector with Debezium version 1.5.2.Final in Embedded mode. I configured the XStream outbound server to receive the events from tables HR.Countries and HR.LONGTABLE.
Now HR.LONGTABLE has a column (HR.LONGTABLE.COMMENTS) with data type as LONG which is not supported by debezium 1.5.2.Final.
I configured the connector to only read from HR.Countries, however we still get LCR events from HR.LONGTABLE in debezium which is expected since XOut server is configured that way.
However I am seeing connector keep stopping with following error:
2021-10-26 22:56:10,429 - ERROR [debezium-oracleconnector-dummy-change-event-source-coordinator:i.d.p.ErrorHandler@31] - Producer failure
oracle.streams.StreamsException: ORA-26824: user-defined XStream callback error
XStreamOut DeliverChunk: exception thrown in processChunk callback.
at oracle.streams.XStreamOut.XStreamOutReceiveLCRCallbackNative(Native Method) ~[xstreams.jar:na]
at oracle.streams.XStreamOut.receiveLCRCallback(XStreamOut.java:465) ~[xstreams.jar:na]
at io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:116) ~[debezium-connector-oracle-1.5.2.Final.jar:1.5.2.Final]
at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:152) [debezium-core-1.5.2.Final.jar:1.5.2.Final]
at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:119) [debezium-core-1.5.2.Final.jar:1.5.2.Final]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_275]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_275]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_275]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_275]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_275]
This happens just after it processes the LCR for HR.LONGTABLE which has a LONG column data type.
I even see the following log line just before this exception, indicating that the table is filtered correctly.
2021-10-26 22:56:10,392 - TRACE [debezium-oracleconnector-dummy-change-event-source-coordinator:i.d.p.EventDispatcher@187] - Filtered data change event for ORCL.HR.LONGTABLE
I tried passing the connector config to explicitly exclude that column as follows, however it still failed with the same error.
2021-10-26 22:52:07,293 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - database.server.name = dummy
2021-10-26 22:52:07,293 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - offset.flush.interval.ms = 1000
2021-10-26 22:52:07,293 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - column.exclude.list = HR.LONGTABLE.COMMENTS
2021-10-26 22:52:07,293 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - database.serverTimezone = UTC
2021-10-26 22:52:07,294 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - database.password = ********
2021-10-26 22:52:07,294 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - name = delta
2021-10-26 22:52:07,294 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - database.out.server.name = dbzxout
2021-10-26 22:52:07,294 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - table.include.list = HR.COUNTRIES
2021-10-26 22:52:07,294 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - ddl_event_sent =
2021-10-26 22:52:07,295 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - snapshot.mode = schema_only
2021-10-26 22:52:07,295 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - snapshot =
2021-10-26 22:52:07,295 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - database.history = io.cdap.delta.plugin.common.DBSchemaHistory
2021-10-26 22:52:07,295 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - snapshot_completed =
2021-10-26 22:52:07,295 - INFO [pool-9-thread-1:i.d.c.c.BaseSourceTask@126] - scn =
Any idea why it would still fail when the table is not in the include list in connector config?
We are planning to use the connector to stream CDC events for HR.LONGTABLE as well with excluding column COMMENTS (since it is LONG and unsupported in 1.5.2.Final). Any workaround to achieve this?
Thanks and Regards,
Sagar