From 3c582cc6dcbc73073a8576498518111218448a23 Mon Sep 17 00:00:00 2001 From: Ilian Iliev Date: Fri, 12 Dec 2025 15:22:59 +0200 Subject: [PATCH 1/2] Improving logging --- .../logminer/processor/AbstractLogMinerEventProcessor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/logminer/processor/AbstractLogMinerEventProcessor.java b/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/logminer/processor/AbstractLogMinerEventProcessor.java index be446f6a74d..9af198c1ef3 100644 --- a/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/logminer/processor/AbstractLogMinerEventProcessor.java +++ b/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/logminer/processor/AbstractLogMinerEventProcessor.java @@ -312,7 +312,9 @@ public Scn process(Scn startScn, Scn endScn) throws SQLException, InterruptedExc Instant queryStart = Instant.now(); try (ResultSet resultSet = statement.executeQuery()) { - metrics.setLastDurationOfFetchQuery(Duration.between(queryStart, Instant.now())); + var queryDuration = Duration.between(queryStart, Instant.now()); + LOGGER.debug("Executed LogMiner query to fetch results in {} seconds", queryDuration.getSeconds()); + metrics.setLastDurationOfFetchQuery(queryDuration); Instant startProcessTime = Instant.now(); processResults(this.partition, resultSet); From 474963052bbfc9f36c1cb6c849ae6b33d97c5685 Mon Sep 17 00:00:00 2001 From: Ilian Iliev Date: Mon, 15 Dec 2025 12:24:29 +0200 Subject: [PATCH 2/2] Improving logging --- .../processor/AbstractLogMinerEventProcessor.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/logminer/processor/AbstractLogMinerEventProcessor.java b/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/logminer/processor/AbstractLogMinerEventProcessor.java index 9af198c1ef3..d3bbe9ed0dd 100644 --- a/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/logminer/processor/AbstractLogMinerEventProcessor.java +++ b/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/logminer/processor/AbstractLogMinerEventProcessor.java @@ -311,8 +311,10 @@ public Scn process(Scn startScn, Scn endScn) throws SQLException, InterruptedExc statement.setString(2, endScn.toString()); Instant queryStart = Instant.now(); + LOGGER.debug("Executing LogMiner query: \n{}\n with params {} and {}", getQueryString(), startScn.toString(), endScn.toString()); try (ResultSet resultSet = statement.executeQuery()) { var queryDuration = Duration.between(queryStart, Instant.now()); + LOGGER.debug("Executed LogMiner query to fetch results in {} seconds", queryDuration.getSeconds()); metrics.setLastDurationOfFetchQuery(queryDuration); @@ -468,7 +470,12 @@ protected Scn calculateNewStartScn(Scn endScn, Scn maxCommittedScn) throws Inter protected void processResults(OraclePartition partition, ResultSet resultSet) throws SQLException, InterruptedException { while (context.isRunning() && hasNextWithMetricsUpdate(resultSet)) { counters.rows++; - processRow(partition, LogMinerEventRow.fromResultSet(resultSet, getConfig().getCatalogName(), isTrxIdRawValue())); + + var row = LogMinerEventRow.fromResultSet(resultSet, getConfig().getCatalogName(), isTrxIdRawValue()); + Instant queryStart = Instant.now(); + processRow(partition, row); + LOGGER.debug("Processing time for row with SCN {}, from table '{}' for {}ms", row.getScn(), row.getTableName(), + Duration.between(queryStart, Instant.now()).toMillis()); } }