From 41bf3e2289bbc3584e38355b28df15edead0e01a Mon Sep 17 00:00:00 2001 From: dataccs Date: Wed, 24 Aug 2022 14:21:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DCanal=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=88=B3=E5=90=AF=E5=8A=A8=E5=A4=B1=E6=95=88?= =?UTF-8?q?=EF=BC=8C=E6=80=BB=E6=98=AF=E4=BB=8E=E6=9C=80=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E7=82=B9=E4=BD=8D=E5=BC=80=E5=A7=8B=E5=90=8C=E6=AD=A5=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20(#4348)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 支持用户自定义的CanalAlarmHandler * RowsLogEvent增加对TableMapLogEvent判空检查,防止NPE异常 * 修复Canal指定时间戳启动失效,总是从最新的点位开始同步问题, issue: #4347 Co-authored-by: 云时 --- .../otter/canal/parse/driver/mysql/packets/UUIDSet.java | 4 +--- .../otter/canal/parse/driver/mysql/MysqlGTIDSetTest.java | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/UUIDSet.java b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/UUIDSet.java index 5926a4fa..0eaea9cd 100644 --- a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/UUIDSet.java +++ b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/UUIDSet.java @@ -181,9 +181,7 @@ public class UUIDSet { int j; for (j = i + 1; j < len; j++) { if (intervals.get(i).stop >= intervals.get(j).start) { - if (intervals.get(i).stop < intervals.get(j).stop) { - intervals.get(i).stop = intervals.get(j).stop; - } + intervals.get(i).stop = intervals.get(j).stop; } else { break; } diff --git a/driver/src/test/java/com/alibaba/otter/canal/parse/driver/mysql/MysqlGTIDSetTest.java b/driver/src/test/java/com/alibaba/otter/canal/parse/driver/mysql/MysqlGTIDSetTest.java index bf29f7d9..1c8ba0e9 100644 --- a/driver/src/test/java/com/alibaba/otter/canal/parse/driver/mysql/MysqlGTIDSetTest.java +++ b/driver/src/test/java/com/alibaba/otter/canal/parse/driver/mysql/MysqlGTIDSetTest.java @@ -42,10 +42,9 @@ public class MysqlGTIDSetTest { MysqlGTIDSet mysqlGTIDSet1 = MysqlGTIDSet.parse(gtid1); String gtid2 = "726757ad-4455-11e8-ae04-0242ac110002:1-20304074"; - MysqlGTIDSet mysqlGTIDSet2 = MysqlGTIDSet.parse(gtid2); mysqlGTIDSet1.update(gtid2); - assertEquals("726757ad-4455-11e8-ae04-0242ac110002:1-25536412", mysqlGTIDSet1.toString()); + assertEquals("726757ad-4455-11e8-ae04-0242ac110002:1-20304074", mysqlGTIDSet1.toString()); } @Test