-
Bug
-
Resolution: Done
-
Major
-
3.1.2.Final
-
None
Hello all.
We use a standalone server with a iceberg sink.
We have a reselect postprocessor turned on.
Sometimes we have following warnings in our logs
*********
WARN [io.deb.pro.res.ReselectColumnsPostProcessor] (debezium-oracleconnector-TX-change-event-source-coordinator) Failed to re-select columns for table TXR.TX.TR and key [250814]: java.sql.SQLException: ORA-01466: unable to read data - table definition has changed
debezium-1 |
debezium-1 | https://docs.oracle.com/error-help/db/ora-01466/
debezium-1 | at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709)
debezium-1 | at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609)
debezium-1 | at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347)
debezium-1 | at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100)
debezium-1 | at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408)
debezium-1 | at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499)
debezium-1 | at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274)
debezium-1 | at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231)
debezium-1 | at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412)
debezium-1 | at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286)
debezium-1 | at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843)
debezium-1 | at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619)
debezium-1 | at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955)
debezium-1 | at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:4142)
debezium-1 | at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1103)
debezium-1 | at io.debezium.jdbc.JdbcConnection.prepareQuery(JdbcConnection.java:808)
debezium-1 | at io.debezium.jdbc.JdbcConnection.reselectColumns(JdbcConnection.java:1672)
debezium-1 | at io.debezium.connector.oracle.OracleConnection.reselectColumns(OracleConnection.java:666)
debezium-1 | at io.debezium.processors.reselect.ReselectColumnsPostProcessor.apply(ReselectColumnsPostProcessor.java:223)
debezium-1 | at io.debezium.pipeline.EventDispatcher.doPostProcessing(EventDispatcher.java:762)
debezium-1 | at io.debezium.pipeline.EventDispatcher$StreamingChangeRecordReceiver.changeRecord(EventDispatcher.java:521)
debezium-1 | at io.debezium.pipeline.EventDispatcher$2.changeRecord(EventDispatcher.java:311)
debezium-1 | at io.debezium.relational.RelationalChangeRecordEmitter.emitUpdateRecord(RelationalChangeRecordEmitter.java:124)
*********
In that case we think that there were some maintainance procedures with Database, and additional tablespaces were added.
That procedure is regular and we have to make it evety day.
After these warnings we check the sink and noticed that our reselected columns were no filled with correct data (there was sentitel value instead of actual data)
Can you help us to avoid that situation
Thanks