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

Verify compatibility with Oracle 21c (21.3.0.0.0)

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • Major
    • 1.9.0.Alpha2
    • None
    • oracle-connector
    • None

    Description

      Oracle 21c was released in Sept 2021, we should verify and test against this new version.

      • Verify LogMiner compatibility
        • OracleClobDataTypeIT#shouldNotEmitClobFieldValuesWhenLobSupportIsNotEnabled
        • A side effect of the signalsSchemaChange below.
          io.debezium.connector.oracle.OracleClobDataTypeIT.shouldNotEmitClobFieldValuesWhenLobSupportIsNotEnabled  Time elapsed: 366.555 s  <<< FAILURE!
          java.lang.AssertionError: expected size:<3> but was:<2> for <[SourceRecord{sourcePartition={server=server1}, sourceOffset={commit_scn=null, transaction_id=null, scn=4323258}} ConnectRecord{topic='server1.DEBEZIUM.DBZ3645', kafkaPartition=null, key=Struct{ID=3}, keySchema=Schema{server1.DEBEZIUM.DBZ3645.Key:STRUCT}, value=Struct{before=Struct{ID=3,DATA=__debezium_unavailable_value},after=Struct{ID=3,DATA=Test3},source=Struct{version=1.9.0-SNAPSHOT,connector=oracle,name=server1,ts_ms=1643917549000,db=ORCLPDB1,schema=DEBEZIUM,table=DBZ3645,txId=0a00130023030000,scn=4323258},op=u,ts_ms=1643917550658}, valueSchema=Schema{server1.DEBEZIUM.DBZ3645.Envelope:STRUCT}, timestamp=null, headers=ConnectHeaders(headers=)}, SourceRecord{sourcePartition={server=server1}, sourceOffset={commit_scn=4323262, transaction_id=null, scn=4323258}} ConnectRecord{topic='server1.DEBEZIUM.DBZ3645', kafkaPartition=null, key=Struct{ID=4}, keySchema=Schema{server1.DEBEZIUM.DBZ3645.Key:STRUCT}, value=Struct{after=Struct{ID=4},source=Struct{version=1.9.0-SNAPSHOT,connector=oracle,name=server1,ts_ms=1643917549000,db=ORCLPDB1,schema=DEBEZIUM,table=DBZ3645,txId=0a00130023030000,scn=4323258,commit_scn=4323262},op=c,ts_ms=1643917550658}, valueSchema=Schema{server1.DEBEZIUM.DBZ3645.Envelope:STRUCT}, timestamp=null, headers=ConnectHeaders(headers=)}]>
          	at io.debezium.connector.oracle.OracleClobDataTypeIT.shouldNotEmitClobFieldValuesWhenLobSupportIsNotEnabled(OracleClobDataTypeIT.java:1517)
          
        • SignalsIT#signalSchemaChange
        • Marking test as not compatible; followed up in subsequent Jira to address incompatibility.
          io.debezium.connector.oracle.SignalsIT.signalSchemaChange  Time elapsed: 363.595 s  <<< FAILURE!
          java.lang.AssertionError: 
          expected size:<8> but was:<2> for <[SourceRecord{sourcePartition={server=server1}, sourceOffset={snapshot=true, scn=4345927, snapshot_completed=false}} ConnectRecord{topic='server1', kafkaPartition=0, key=Struct{databaseName=ORCLPDB1}, keySchema=Schema{io.debezium.connector.oracle.SchemaChangeKey:STRUCT}, value=Struct{source=Struct{version=1.9.0-SNAPSHOT,connector=oracle,name=server1,ts_ms=1643918056103,snapshot=true,db=ORCLPDB1,schema=DEBEZIUM,table=CUSTOMER,scn=4345927},databaseName=ORCLPDB1,schemaName=DEBEZIUM,ddl=
            CREATE TABLE "DEBEZIUM"."CUSTOMER" 
             (	"ID" NUMBER(9,0) NOT NULL ENABLE, 
          	"NAME" VARCHAR2(1000), 
          	"SCORE" NUMBER(6,2), 
          	"REGISTERED" TIMESTAMP (6), 
          	 CONSTRAINT "MYPK" PRIMARY KEY ("ID")
            USING INDEX  ENABLE, 
          	 SUPPLEMENTAL LOG DATA (ALL) COLUMNS
             ) ;,tableChanges=[Struct{type=CREATE,id="ORCLPDB1"."DEBEZIUM"."CUSTOMER",table=Struct{primaryKeyColumnNames=[ID],columns=[Struct{name=ID,jdbcType=2,typeName=NUMBER,typeExpression=NUMBER,length=9,scale=0,position=1,optional=false,autoIncremented=false,generated=false}, Struct{name=NAME,jdbcType=12,typeName=VARCHAR2,typeExpression=VARCHAR2,length=1000,position=2,optional=true,autoIncremented=false,generated=false}, Struct{name=SCORE,jdbcType=2,typeName=NUMBER,typeExpression=NUMBER,length=6,scale=2,position=3,optional=true,autoIncremented=false,generated=false}, Struct{name=REGISTERED,jdbcType=93,typeName=TIMESTAMP(6),typeExpression=TIMESTAMP(6),length=6,position=4,optional=true,autoIncremented=false,generated=false}]}}]}, valueSchema=Schema{io.debezium.connector.oracle.SchemaChangeValue:STRUCT}, timestamp=null, headers=ConnectHeaders(headers=)}, SourceRecord{sourcePartition={server=server1}, sourceOffset={snapshot=true, scn=4345927, snapshot_completed=false}} ConnectRecord{topic='server1', kafkaPartition=0, key=Struct{databaseName=ORCLPDB1}, keySchema=Schema{io.debezium.connector.oracle.SchemaChangeKey:STRUCT}, value=Struct{source=Struct{version=1.9.0-SNAPSHOT,connector=oracle,name=server1,ts_ms=1643918056306,snapshot=last,db=ORCLPDB1,schema=DEBEZIUM,table=DEBEZIUM_SIGNAL,scn=4345927},databaseName=ORCLPDB1,schemaName=DEBEZIUM,ddl=
            CREATE TABLE "DEBEZIUM"."DEBEZIUM_SIGNAL" 
             (	"ID" VARCHAR2(64), 
          	"TYPE" VARCHAR2(64), 
          	"DATA" VARCHAR2(2048), 
          	 SUPPLEMENTAL LOG DATA (ALL) COLUMNS
             ) ;,tableChanges=[Struct{type=CREATE,id="ORCLPDB1"."DEBEZIUM"."DEBEZIUM_SIGNAL",table=Struct{primaryKeyColumnNames=[],columns=[Struct{name=ID,jdbcType=12,typeName=VARCHAR2,typeExpression=VARCHAR2,length=64,position=1,optional=true,autoIncremented=false,generated=false}, Struct{name=TYPE,jdbcType=12,typeName=VARCHAR2,typeExpression=VARCHAR2,length=64,position=2,optional=true,autoIncremented=false,generated=false}, Struct{name=DATA,jdbcType=12,typeName=VARCHAR2,typeExpression=VARCHAR2,length=2048,position=3,optional=true,autoIncremented=false,generated=false}]}}]}, valueSchema=Schema{io.debezium.connector.oracle.SchemaChangeValue:STRUCT}, timestamp=null, headers=ConnectHeaders(headers=)}]>
          	at io.debezium.connector.oracle.SignalsIT.signalSchemaChange(SignalsIT.java:116)
          
      • Verify Xstream compatibility
        • OracleRowIdDataTypeIT#shouldSnapshotAndStreamRowIdAndURowIdColumnTypes
          This is unrelated to Oracle 21 and also fails on Oracle 19 since ROWID isn't compatible with XStream.
          This has been reported and will be fixed in DBZ-4702.
          org.junit.ComparisonFailure: expected:<'AAASruAAMAAAAKHAAA'> but was:<null>
          	at io.debezium.connector.oracle.OracleRowIdDataTypeIT.shouldSnapshotAndStreamRowIdAndURowIdColumnTypes(OracleRowIdDataTypeIT.java:119)
          
        • OracleSchemaMigrationIT#shouldNotEmitDdlEventsForNonTableObjects
          This is unrelated to Oracle 21 and also fails on Oracle 19; due to addition of Logback Logger which disabled a specific logger causing LogInterceptor assertions to fail.
          This has been reported and will be fixed in DBZ-4703.
          io.debezium.connector.oracle.OracleSchemaMigrationIT.shouldNotEmitDdlEventsForNonTableObjects  Time elapsed: 124.01 s  <<< ERROR!
          org.awaitility.core.ConditionTimeoutException: Condition with lambda expression in io.debezium.connector.oracle.OracleSchemaMigrationIT that uses io.debezium.junit.logging.LogInterceptor, io.debezium.junit.logging.LogInterceptorjava.lang.String, java.lang.Stringio.debezium.junit.logging.LogInterceptor was not fulfilled within 2 minutes.
          	at io.debezium.connector.oracle.OracleSchemaMigrationIT.shouldNotEmitDdlEventsForNonTableObjects(OracleSchemaMigrationIT.java:1086)
          

      Attachments

        Issue Links

          Activity

            People

              ccranfor@redhat.com Chris Cranford
              ccranfor@redhat.com Chris Cranford
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: