From ff1f38ae0b8f42c9cb45f0ea8f41ca11a55f1f43 Mon Sep 17 00:00:00 2001 From: mfvitale Date: Mon, 26 Feb 2024 17:15:23 +0100 Subject: [PATCH] DBZ-7461 Fix getOffsetScn for XStreamAdapter --- .../io/debezium/connector/oracle/OracleOffsetContext.java | 1 + .../debezium/connector/oracle/xstream/XStreamAdapter.java | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/OracleOffsetContext.java b/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/OracleOffsetContext.java index 4de483c58..822d8a97f 100644 --- a/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/OracleOffsetContext.java +++ b/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/OracleOffsetContext.java @@ -334,6 +334,7 @@ else if (getScnIndex() != null) { } sb.append(", commit_scn=").append(sourceInfo.getCommitScn().toLoggableFormat()); + sb.append(", lcr_position=").append(sourceInfo.getLcrPosition()); sb.append("]"); diff --git a/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/xstream/XStreamAdapter.java b/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/xstream/XStreamAdapter.java index 0e621cde1..de0031916 100644 --- a/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/xstream/XStreamAdapter.java +++ b/debezium-connector-oracle/src/main/java/io/debezium/connector/oracle/xstream/XStreamAdapter.java @@ -155,16 +155,16 @@ public Scn getOffsetScn(OracleOffsetContext offsetContext) { String lcrPosition = offsetContext.getLcrPosition(); if (lcrPosition != null) { startPosition = LcrPosition.valueOf(lcrPosition).getRawPosition(); - getScn(startPosition); + return getScn(startPosition); } return offsetContext.getScn(); } - private static void getScn(byte[] startPosition) { + private static Scn getScn(byte[] startPosition) { try { - XStreamUtility.getSCNFromPosition(startPosition); + return new Scn(XStreamUtility.getSCNFromPosition(startPosition).bigIntegerValue()); } - catch (StreamsException e) { + catch (StreamsException | SQLException e) { throw new RuntimeException(e); } }