Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-2679

ChangeRecord informations don't connect with the TableSchema

    XMLWordPrintable

Details

    Description

      When using debezium on Oracle, with XStream, the producer is having an error :

      org.apache.kafka.connect.errors.ConnectException: Error while processing event at offset {transaction_id=null, lcr_position=00000000002eb5cb000000010000000100000000002eb5ca000000010000000102}org.apache.kafka.connect.errors.ConnectException: Error while processing event at offset {transaction_id=null, lcr_position=00000000002eb5cb000000010000000100000000002eb5ca000000010000000102} at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:220) at io.debezium.connector.oracle.xstream.LcrEventHandler.dispatchDataChangeEvent(LcrEventHandler.java:104) at io.debezium.connector.oracle.xstream.LcrEventHandler.processLCR(LcrEventHandler.java:77) at oracle.streams.XStreamOut.XStreamOutReceiveLCRCallbackNative(Native Method) at oracle.streams.XStreamOut.receiveLCRCallback(XStreamOut.java:465) at io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:78) at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:140) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:113) 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: java.lang.IllegalArgumentException: No metadata registered for captured table ORCLPDB1.LOCALDOMAIN.DEBEZIUM.TESTDBZTBL at io.debezium.pipeline.EventDispatcher.errorOnMissingSchema(EventDispatcher.java:250) at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:186) ... 12 moreERROR io.debezium.pipeline.ErrorHandler  - Producer failureorg.apache.kafka.connect.errors.ConnectException: Error while processing event at offset {transaction_id=null, lcr_position=00000000002eb5cb000000010000000100000000002eb5ca000000010000000102} at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:220) at io.debezium.connector.oracle.xstream.LcrEventHandler.dispatchDataChangeEvent(LcrEventHandler.java:104) at io.debezium.connector.oracle.xstream.LcrEventHandler.processLCR(LcrEventHandler.java:77) at oracle.streams.XStreamOut.XStreamOutReceiveLCRCallbackNative(Native Method) at oracle.streams.XStreamOut.receiveLCRCallback(XStreamOut.java:465) at io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:78) at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:140) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:113) 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: java.lang.IllegalArgumentException: No metadata registered for captured table ORCLPDB1.LOCALDOMAIN.DEBEZIUM.TESTDBZTBL at io.debezium.pipeline.EventDispatcher.errorOnMissingSchema(EventDispatcher.java:250) at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:186) ... 12 moreERROR io.debezium.embedded.EmbeddedEngine  - Error while trying to run connector class 'io.debezium.connector.oracle.OracleConnector'org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped. at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42) at io.debezium.connector.oracle.xstream.LcrEventHandler.processLCR(LcrEventHandler.java:90) at oracle.streams.XStreamOut.XStreamOutReceiveLCRCallbackNative(Native Method) at oracle.streams.XStreamOut.receiveLCRCallback(XStreamOut.java:465) at io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:78) at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:140) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:113) 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.ConnectException: Error while processing event at offset {transaction_id=null, lcr_position=00000000002eb5cb000000010000000100000000002eb5ca000000010000000102} at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:220) at io.debezium.connector.oracle.xstream.LcrEventHandler.dispatchDataChangeEvent(LcrEventHandler.java:104) at io.debezium.connector.oracle.xstream.LcrEventHandler.processLCR(LcrEventHandler.java:77) ... 10 moreCaused by: java.lang.IllegalArgumentException: No metadata registered for captured table ORCLPDB1.LOCALDOMAIN.DEBEZIUM.TESTDBZTBL at io.debezium.pipeline.EventDispatcher.errorOnMissingSchema(EventDispatcher.java:250) at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:186) ... 12 moreERROR io.debezium.embedded.EmbeddedEngine  - Error while trying to run connector class 'io.debezium.connector.oracle.OracleConnector'org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped. at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42) at io.debezium.connector.oracle.xstream.LcrEventHandler.processLCR(LcrEventHandler.java:90) at oracle.streams.XStreamOut.XStreamOutReceiveLCRCallbackNative(Native Method) at oracle.streams.XStreamOut.receiveLCRCallback(XStreamOut.java:465) at io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:78) at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:140) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:113) 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.ConnectException: Error while processing event at offset {transaction_id=null, lcr_position=00000000002eb5cb000000010000000100000000002eb5ca000000010000000102} at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:220) at io.debezium.connector.oracle.xstream.LcrEventHandler.dispatchDataChangeEvent(LcrEventHandler.java:104) at io.debezium.connector.oracle.xstream.LcrEventHandler.processLCR(LcrEventHandler.java:77) ... 10 moreCaused by: java.lang.IllegalArgumentException: No metadata registered for captured table ORCLPDB1.LOCALDOMAIN.DEBEZIUM.TESTDBZTBL at io.debezium.pipeline.EventDispatcher.errorOnMissingSchema(EventDispatcher.java:250) at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:186) ... 12 more

      Debezium receives ChangeRecord Correctly :

      DefaultRowLCR:
      Header:
      source database name: ORCLPDB1.LOCALDOMAIN
      command type: INSERT
      object owner: DEBEZIUM
      object name: TESTDBZTBL
      tag: []
      position: [0 0 0 0 0 2e ffffffeb ffffffdd 0 0 0 1 0 0 0 1 0 0 0 0 0 2e ffffffeb ffffffdc 0 0 0 1 0 0 0 1 2]
      transaction id: 17.7.1009
      source time: 2020-10-20 06:58:26
      scn: null
      commit scn: null
      lcr flags:
      Statement LCR: false
      IDKeyColumnsOnly LCR: false
      Sequence LCR: false
      Attribute[2]
      (0): ROOT_NAME : ORCLCDB.LOCALDOMAIN
      (1): ROW_ID : AAATRLAAWAAAACGAAB
      Old column values (0):
      New column values (2):
      (0): DefaultColumnValue(csid:0, tde:false, type:0, name:ID, data:8.0)
      (1): DefaultColumnValue(csid:0, tde:false, type:0, name:NAME, data:H)
      

      But the source database is not matching with the table schema available in the DatabaseSchema :

      {TableId@4255} "ORCLPDB1.DEBEZIUM.TESTDBZTBL" -> {TableImpl@4256} "columns: {
        ID NUMBER(38, 0) NOT NULL
        NAME VARCHAR2(20) DEFAULT VALUE NULL
      }
      primary key: [ID]
      default charset: null
      "
      

       

      Attachments

        Issue Links

          Activity

            People

              ccranfor@redhat.com Chris Cranford
              jonathan.winandy Jonathan jwinandy (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: