修复Canal指定时间戳启动失效,总是从最新的点位开始同步问题 (#4348)

* 支持用户自定义的CanalAlarmHandler

* RowsLogEvent增加对TableMapLogEvent判空检查,防止NPE异常

* 修复Canal指定时间戳启动失效,总是从最新的点位开始同步问题, issue: #4347

Co-authored-by: 云时 <mingya.wmy@alibaba-inc.com>
This commit is contained in:
dataccs
2022-08-24 14:21:47 +08:00
committed by GitHub
parent 4d4199c801
commit 41bf3e2289
2 changed files with 2 additions and 5 deletions

View File

@@ -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;
}

View File

@@ -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