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

Oracle Connector: Snapshot fails with specific combination

XMLWordPrintable

    • 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

       

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

              Created:
              Updated:
              Resolved: