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

Oracle Connector: Snapshot fails with specific combination

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.3.0.Final
    • 2.2.1.Final, 2.3.0.Beta1
    • oracle-connector
    • None

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      replicated with 2.2.1.Final and 2.3.0.Beta1

      What is the connector configuration?

      {
        "name": "ebspst-connector",
        "config":

      {     "connector.class" : "io.debezium.connector.oracle.OracleConnector",     "tasks.max" : "1",     "topic.prefix" : "topicEbsPst",     "database.hostname" : "___",     "database.port" : "1521",     "database.user" : "c##debezuser",     "database.password" : "___",     "database.dbname" : "C10EBS",     "database.pdb.name" : "EBSPST",     "rac.nodes" : "10.100.138.3,10.100.138.5,10.100.138.7,10.100.138.9",     "schema.history.internal.kafka.bootstrap.servers" : "kafka:9092",     "schema.history.internal.kafka.topic": "schema-changes.ebspst",     "schema.history.internal.store.only.captured.tables.ddl" : "true",     "schema.history.internal.store.only.captured.databases.ddl" : "true",     "table.include.list" : "PO.PO_REQUISITION_HEADERS_ALL",     "signal.data.collection":"EBSPST.C##DEBEZUSER.DEBEZIUM_SIGNAL",     "snapshot.mode" : "schema_only",     "decimal.handling.mode" : "string",     "log.mining.strategy" : "online_catalog",     "topic.creation.default.replication.factor": 1,     "topic.creation.default.partitions": 1,     "topic.creation.default.cleanup.policy": "delete,compact",     "topic.creation.default.compression.type": "lz4",     "topic.creation.default.retention.bytes": 900000000,     "topic.creation.default.retention.ms":-1   }

      }

      What is the captured database version and mode of depoyment?

      (E.g. on-premises, with a specific cloud provider, etc.)

      Oracle RAC:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production

      What behaviour do you expect?

      Expecting signal table and store.only.captured...ddl=true to be present in the config at the same time.

       "schema.history.internal.store.only.captured.tables.ddl" : "true",
       "schema.history.internal.store.only.captured.databases.ddl" : "true",
       "signal.data.collection":"EBSPST.C##DEBEZUSER.DEBEZIUM_SIGNAL",

      What behaviour do you see?

      Get this exception (it will disappear if I remove the signal.data.collection from config)

      2023-06-06 08:15:47,544 INFO   Oracle|topicEbsPst|snapshot  No previous offset has been found.   [io.debezium.connector.oracle.OracleSnapshotChangeEventSource]
      2023-06-06 08:15:47,544 INFO   Oracle|topicEbsPst|snapshot  According to the connector configuration only schema will be snapshot.   [io.debezium.connector.oracle.OracleSnapshotChangeEventSource]
      2023-06-06 08:15:47,563 INFO   Oracle|topicEbsPst|snapshot  Snapshot step 1 - Preparing   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:15:47,563 INFO   Oracle|topicEbsPst|snapshot  Snapshot step 2 - Determining captured tables   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:17:47,928 INFO   Oracle|topicEbsPst|snapshot  Adding table EBSPST.PO.PO_REQUISITION_HEADERS_ALL to the list of capture schema tables   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:17:47,945 INFO   Oracle|topicEbsPst|snapshot  Adding table EBSPST.C##DEBEZUSER.DEBEZIUM_SIGNAL to the list of capture schema tables   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:17:48,562 INFO   Oracle|topicEbsPst|snapshot  Snapshot step 3 - Locking captured tables [EBSPST.PO.PO_REQUISITION_HEADERS_ALL]   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:17:48,575 INFO   Oracle|topicEbsPst|snapshot  Snapshot step 4 - Determining snapshot offset   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:17:48,586 INFO   Oracle|topicEbsPst|snapshot  No latest table SCN could be resolved, defaulting to current SCN   [io.debezium.connector.oracle.AbstractStreamingAdapter]
      2023-06-06 08:17:48,744 INFO   Oracle|topicEbsPst|snapshot      No in-progress transactions will be captured.   [io.debezium.connector.oracle.logminer.LogMinerAdapter]
      2023-06-06 08:17:48,749 INFO   Oracle|topicEbsPst|snapshot  Connection gracefully closed   [io.debezium.jdbc.JdbcConnection]
      2023-06-06 08:17:48,750 INFO   Oracle|topicEbsPst|snapshot  Snapshot step 5 - Reading structure of captured tables   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:17:48,750 INFO   Oracle|topicEbsPst|snapshot  Only captured tables schema should be captured, capturing: [EBSPST.PO.PO_REQUISITION_HEADERS_ALL]   [io.debezium.connector.oracle.OracleSnapshotChangeE
      ventSource]
      2023-06-06 08:17:49,484 INFO   Oracle|topicEbsPst|snapshot  Snapshot step 6 - Persisting schema history   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:17:49,484 INFO   Oracle|topicEbsPst|snapshot  Capturing structure of table EBSPST.C##DEBEZUSER.DEBEZIUM_SIGNAL   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      2023-06-06 08:17:49,485 ERROR  Oracle|topicEbsPst|snapshot  Error during snapshot   [io.debezium.relational.RelationalSnapshotChangeEventSource]
      java.lang.NullPointerException
              at io.debezium.connector.oracle.OracleSnapshotChangeEventSource.getCreateTableEvent(OracleSnapshotChangeEventSource.java:221)
              at io.debezium.relational.RelationalSnapshotChangeEventSource.createSchemaChangeEventsForTables(RelationalSnapshotChangeEventSource.java:359)
              at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:145)
              at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)
              at io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:186)
              at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:152)
              at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:118)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at java.base/java.lang.Thread.run(Thread.java:829)
      2023-06-06 08:17:49,489 INFO   Oracle|topicEbsPst|snapshot  Snapshot - Final stage   [io.debezium.pipeline.source.AbstractSnapshotChangeEventSource]

      Do you see the same behaviour using the latest relesead Debezium version?

      (Ideally, also verify with latest Alpha/Beta/CR version)

      yes.

      Do you have the connector logs, ideally from start till finish?

      (You might be asked later to provide DEBUG/TRACE level log)

      yes

       

            [DBZ-6528] Oracle Connector: Snapshot fails with specific combination

            Errata Tool added a comment -

            Since the problem described in this issue should be resolved in a recent advisory, it has been closed.

            For information on the advisory (Red Hat build of Debezium 2.3.4 release), and where to find the updated files, follow the link below.

            If the solution does not work for you, open a new bug report.
            https://access.redhat.com/errata/RHEA-2023:5471

            Errata Tool added a comment - Since the problem described in this issue should be resolved in a recent advisory, it has been closed. For information on the advisory (Red Hat build of Debezium 2.3.4 release), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2023:5471

            Released

            Debezium Builder added a comment - Released

            the workaround seems to be to add signal table explicitly into the table.include.list

            Jiri Kulhanek (Inactive) added a comment - the workaround seems to be to add signal table explicitly into the table.include.list

              ccranfor@redhat.com Chris Cranford
              jirikulhanek Jiri Kulhanek (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: