From 4f49d2f6fe46fc684a40640d32b78f66c5405f32 Mon Sep 17 00:00:00 2001 From: Ryan van Huuksloot Date: Tue, 8 Aug 2023 12:34:41 -0400 Subject: [PATCH] DBZ-6783 Upgrade MySQL Binlog Client to v0.28.1 --- COPYRIGHT.txt | 1 + .../connector/mysql/SourceInfoTest.java | 39 ++++++++++--------- jenkins-jobs/scripts/config/Aliases.txt | 3 +- pom.xml | 2 +- 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index ab96dc40d..f893e9a5c 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -403,6 +403,7 @@ Ruslan Gibaiev Russell Ballard Russell Mora Ruud H.G. van Tol +Ryan van Huuksloot Sage Pierce Sairam Polavarapu Sanjay Kr Singh diff --git a/debezium-connector-mysql/src/test/java/io/debezium/connector/mysql/SourceInfoTest.java b/debezium-connector-mysql/src/test/java/io/debezium/connector/mysql/SourceInfoTest.java index ed58685ad..3ee626e20 100644 --- a/debezium-connector-mysql/src/test/java/io/debezium/connector/mysql/SourceInfoTest.java +++ b/debezium-connector-mysql/src/test/java/io/debezium/connector/mysql/SourceInfoTest.java @@ -12,6 +12,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; +import java.util.UUID; import java.util.function.Predicate; import org.apache.kafka.connect.data.Schema; @@ -36,6 +37,8 @@ public class SourceInfoTest { private static final String FILENAME = "mysql-bin.00001"; private static final String GTID_SET = "gtid-set"; // can technically be any string private static final String SERVER_NAME = "my-server"; // can technically be any string + private static final UUID IdA= UUID.fromString("123e4567-e89b-12d3-a456-426655440000"); + private static final UUID IdB= UUID.fromString("123e4567-e89b-12d3-a456-426655440001"); private SourceInfo source; private MySqlOffsetContext offsetContext; @@ -466,43 +469,43 @@ public void shouldValidateSourceInfoSchema() { @Test public void shouldConsiderPositionsWithSameGtidSetsAsSame() { - assertPositionWithGtids("IdA:1-5").isAtOrBefore(positionWithGtids("IdA:1-5")); // same, single - assertPositionWithGtids("IdA:1-5,IdB:1-20").isAtOrBefore(positionWithGtids("IdA:1-5,IdB:1-20")); // same, multiple - assertPositionWithGtids("IdA:1-5,IdB:1-20").isAtOrBefore(positionWithGtids("IdB:1-20,IdA:1-5")); // equivalent + assertPositionWithGtids(String.format("%s:1-5", IdA)).isAtOrBefore(positionWithGtids(String.format("%s:1-5", IdA))); // same, single + assertPositionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB)).isAtOrBefore(positionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB))); // same, multiple + assertPositionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB)).isAtOrBefore(positionWithGtids(String.format("%s:1-20,%s:1-5", IdB, IdA))); // equivalent } @Test public void shouldConsiderPositionsWithSameGtidSetsAndSnapshotAsSame() { - assertPositionWithGtids("IdA:1-5", true).isAtOrBefore(positionWithGtids("IdA:1-5", true)); // same, single - assertPositionWithGtids("IdA:1-5,IdB:1-20", true).isAtOrBefore(positionWithGtids("IdA:1-5,IdB:1-20", true)); // same, - // multiple - assertPositionWithGtids("IdA:1-5,IdB:1-20", true).isAtOrBefore(positionWithGtids("IdB:1-20,IdA:1-5", true)); // equivalent + assertPositionWithGtids(String.format("%s:1-5", IdA), true).isAtOrBefore(positionWithGtids(String.format("%s:1-5", IdA), true)); // same, single + assertPositionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB), true).isAtOrBefore(positionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB), true)); // same, multiple + assertPositionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB), true).isAtOrBefore(positionWithGtids(String.format("%s:1-20,%s:1-5", IdB, IdA), true)); // equivalent } @Test public void shouldOrderPositionWithGtidAndSnapshotBeforePositionWithSameGtidButNoSnapshot() { - assertPositionWithGtids("IdA:1-5", true).isAtOrBefore(positionWithGtids("IdA:1-5")); // same, single - assertPositionWithGtids("IdA:1-5,IdB:1-20", true).isAtOrBefore(positionWithGtids("IdA:1-5,IdB:1-20")); // same, multiple - assertPositionWithGtids("IdA:1-5,IdB:1-20", true).isAtOrBefore(positionWithGtids("IdB:1-20,IdA:1-5")); // equivalent + assertPositionWithGtids(String.format("%s:1-5", IdA), true).isBefore(positionWithGtids(String.format("%s:1-5", IdA), false)); // same, single + assertPositionWithGtids(String.format("%s:1-5", IdA), true).isAtOrBefore(positionWithGtids(String.format("%s:1-5", IdA))); // same, single + assertPositionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB), true).isAtOrBefore(positionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB))); // same, multiple + assertPositionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB), true).isAtOrBefore(positionWithGtids(String.format("%s:1-20,%s:1-5", IdB, IdA))); // equivalent } @Test public void shouldOrderPositionWithoutGtidAndSnapshotAfterPositionWithSameGtidAndSnapshot() { - assertPositionWithGtids("IdA:1-5", false).isAfter(positionWithGtids("IdA:1-5", true)); // same, single - assertPositionWithGtids("IdA:1-5,IdB:1-20", false).isAfter(positionWithGtids("IdA:1-5,IdB:1-20", true)); // same, multiple - assertPositionWithGtids("IdA:1-5,IdB:1-20", false).isAfter(positionWithGtids("IdB:1-20,IdA:1-5", true)); // equivalent + assertPositionWithGtids(String.format("%s:1-5", IdA), false).isAfter(positionWithGtids(String.format("%s:1-5", IdA), true)); // same, single + assertPositionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB), false).isAfter(positionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB), true)); // same, multiple + assertPositionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB), false).isAfter(positionWithGtids(String.format("%s:1-20,%s:1-5", IdB, IdA), true)); // equivalent } @Test public void shouldOrderPositionWithGtidsAsBeforePositionWithExtraServerUuidInGtids() { - assertPositionWithGtids("IdA:1-5").isBefore(positionWithGtids("IdA:1-5,IdB:1-20")); + assertPositionWithGtids(String.format("%s:1-5", IdA)).isBefore(positionWithGtids(String.format("%s:1-5,%s:1-20", IdA, IdB))); } @Test public void shouldOrderPositionsWithSameServerButLowerUpperLimitAsBeforePositionWithSameServerUuidInGtids() { - assertPositionWithGtids("IdA:1-5").isBefore(positionWithGtids("IdA:1-6")); - assertPositionWithGtids("IdA:1-5:7-9").isBefore(positionWithGtids("IdA:1-10")); - assertPositionWithGtids("IdA:2-5:8-9").isBefore(positionWithGtids("IdA:1-10")); + assertPositionWithGtids(String.format("%s:1-5", IdA)).isBefore(positionWithGtids(String.format("%s:1-6", IdA))); + assertPositionWithGtids(String.format("%s:1-5:7-9", IdA)).isBefore(positionWithGtids(String.format("%s:1-10", IdA))); + assertPositionWithGtids(String.format("%s:2-5:8-9", IdA)).isBefore(positionWithGtids(String.format("%s:1-10", IdA))); } @Test @@ -512,7 +515,7 @@ public void shouldOrderPositionWithoutGtidAsBeforePositionWithGtid() { @Test public void shouldOrderPositionWithGtidAsAfterPositionWithoutGtid() { - assertPositionWithGtids("IdA:1-5").isAfter(positionWithoutGtids("filename.01", 0, 0, 0)); + assertPositionWithGtids(String.format("%s:1-5", IdA)).isAfter(positionWithoutGtids("filename.01", 0, 0, 0)); } @Test diff --git a/jenkins-jobs/scripts/config/Aliases.txt b/jenkins-jobs/scripts/config/Aliases.txt index 760a47bac..fc41c64af 100644 --- a/jenkins-jobs/scripts/config/Aliases.txt +++ b/jenkins-jobs/scripts/config/Aliases.txt @@ -218,4 +218,5 @@ bdbene,Balint Bene agukasian,Artur Gukasian Ychopada,Yashashree Chopada gurpiarbassi, Gurps Bassi -mfortunat, Massimo Fortunat \ No newline at end of file +mfortunat, Massimo Fortunat +ryanvanhuuksloot, Ryan van Huuksloot \ No newline at end of file diff --git a/pom.xml b/pom.xml index c6c6895f6..75fbcb085 100644 --- a/pom.xml +++ b/pom.xml @@ -124,7 +124,7 @@ 42.6.0 8.0.33 - 0.27.2 + 0.28.1 4.7.1 10.2.1.jre8 21.6.0.0