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

Oracle dbname/signal with dots parsed incorrectly

XMLWordPrintable

    • False
    • False
    • Hide

      Connector config:

      {
        "name" : "testdwh",
        "config" : {
          "errors.log.enable" : "true",
          "errors.log.include.messages" : "true",
          "database.hostname" : "dbhostname.domain.com",
          "database.port" : "1521",
          "database.user" : "username",
          "database.password" : "password",
          "database.server.name" : "dbzxout",
          "database.dbname" : "RB02.DOMAIN.COM",
          "database.out.server.name" : "dbzxout",
          "database.connection.adapter" : "xstream",
          "snapshot.locking.mode" : "none",
          "database.history.kafka.bootstrap.servers" : "127.0.0.1:9092",
          "database.history.kafka.topic" : "schema-changes.inventory",
          "signal.data.collection" : "RB02.DOMAIN.COM.TBSLV.DEBEZIUM_SIGNAL",
          "table.include.list" : "TBSLV.DEBEZIUM_SIGNAL,TBSLV.NLENTA_SU_PK",
        }
      }
      Show
      Connector config: {   "name" : "testdwh" ,   "config" : {     "errors.log.enable" : " true " ,     "errors.log.include.messages" : " true " ,     "database.hostname" : "dbhostname.domain.com" ,     "database.port" : "1521" ,     "database.user" : "username" ,     "database.password" : "password" ,     "database.server.name" : "dbzxout" ,     "database.dbname" : "RB02.DOMAIN.COM" ,     "database.out.server.name" : "dbzxout" ,     "database.connection.adapter" : "xstream" ,     "snapshot.locking.mode" : "none" ,     "database.history.kafka.bootstrap.servers" : "127.0.0.1:9092" ,     "database.history.kafka.topic" : "schema-changes.inventory" ,     "signal.data.collection" : "RB02.DOMAIN.COM.TBSLV.DEBEZIUM_SIGNAL" ,     "table.include.list" : "TBSLV.DEBEZIUM_SIGNAL,TBSLV.NLENTA_SU_PK" ,   } }

      Testing xtreams connector to Oracle with dots in dbname.

      When sending ad-hoc shapshot signal- getting the following error. If trying signal.data.collection with databaseName in quotes- the signals are not getting received and processed.

       

      [2022-02-11 18:27:04,821] ERROR WorkerSourceTask{id=testdwh-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask:190)
      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:127)
              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:108)
              at io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:43)
              at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:172)
              at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:139)
              at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:108)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
              at java.base/java.lang.Thread.run(Thread.java:833)
      Caused by: org.apache.kafka.connect.errors.ConnectException: Error while processing event at offset {transaction_id=null, lcr_position=080194957118000000010000000108019495710f000000020000000101, incremental_snapshot_maximum_key=aced00057
      0, incremental_snapshot_collections=RB02.DOMAIN.COM, incremental_snapshot_primary_key=aced000570}
              at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:252)
              at io.debezium.connector.oracle.xstream.LcrEventHandler.dispatchDataChangeEvent(LcrEventHandler.java:219)
              at io.debezium.connector.oracle.xstream.LcrEventHandler.processRowLCR(LcrEventHandler.java:146)
              at io.debezium.connector.oracle.xstream.LcrEventHandler.processLCR(LcrEventHandler.java:114)
              ... 12 more
      Caused by: io.debezium.DebeziumException: Database error while executing incremental snapshot for table 'RB02.DOMAIN.COM'
              at io.debezium.pipeline.source.snapshot.incremental.AbstractIncrementalSnapshotChangeEventSource.readChunk(AbstractIncrementalSnapshotChangeEventSource.java:312)
              at io.debezium.pipeline.source.snapshot.incremental.AbstractIncrementalSnapshotChangeEventSource.addDataCollectionNamesToSnapshot(AbstractIncrementalSnapshotChangeEventSource.java:398)
              at io.debezium.pipeline.signal.ExecuteSnapshot.arrived(ExecuteSnapshot.java:56)
              at io.debezium.pipeline.signal.Signal.process(Signal.java:137)
              at io.debezium.pipeline.signal.Signal.process(Signal.java:175)
              at io.debezium.pipeline.EventDispatcher$2.changeRecord(EventDispatcher.java:226)
              at io.debezium.relational.RelationalChangeRecordEmitter.emitCreateRecord(RelationalChangeRecordEmitter.java:78)
              at io.debezium.relational.RelationalChangeRecordEmitter.emitChangeRecords(RelationalChangeRecordEmitter.java:46)
              at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:215)
              ... 15 more
      Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
              at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:1256)
              at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:1138)
              at oracle.jdbc.driver.T2CPreparedStatement.executeForDescribe(T2CPreparedStatement.java:784)
              at oracle.jdbc.driver.T2CPreparedStatement.executeForRows(T2CPreparedStatement.java:1027)
              at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1531)
              at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1311)
              at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3746)
              at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3941)
              at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1010)
              at io.debezium.jdbc.JdbcConnection.prepareUpdate(JdbcConnection.java:774)
              at io.debezium.pipeline.source.snapshot.incremental.SignalBasedIncrementalSnapshotChangeEventSource.emitWindowOpen(SignalBasedIncrementalSnapshotChangeEventSource.java:58)
              at io.debezium.pipeline.source.snapshot.incremental.AbstractIncrementalSnapshotChangeEventSource.readChunk(AbstractIncrementalSnapshotChangeEventSource.java:261)
              ... 23 more
      Caused by: Error : 942, Position : 17, Sql = INSERT INTO DOMAIN.COM VALUES (:1 , :2 , null), OriginalSql = INSERT INTO DOMAIN.COM VALUES (?, ?, null), Error Msg = ORA-00942: table or view does not exist
              at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:1270)
              ... 34 more

              ccranfor@redhat.com Chris Cranford
              andrws-1 Andrius Umbrasas (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: