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