From 6f857aa57b9ce3d4fec791b7f520c88a1142f5f7 Mon Sep 17 00:00:00 2001 From: quanllong Date: Fri, 13 Dec 2024 11:33:01 +0800 Subject: [PATCH] =?UTF-8?q?bugfix:=20=E5=85=BC=E5=AE=B9MariaDB=20GTID=20?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canal/parse/driver/mysql/packets/MariaGTIDSet.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/MariaGTIDSet.java b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/MariaGTIDSet.java index 4612b93916..11826c888e 100644 --- a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/MariaGTIDSet.java +++ b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/MariaGTIDSet.java @@ -24,8 +24,11 @@ public byte[] encode() throws IOException { @Override public void update(String str) { - MariaGtid mariaGtid = MariaGtid.parse(str); - gtidMap.put(mariaGtid.getDomainId(), mariaGtid); + if (StringUtils.isNotEmpty(str)) { + // 兼容 GTID 为空的情况,例如 mysql-bin.000001 的 GTID 是空的 + MariaGtid mariaGtid = MariaGtid.parse(str); + gtidMap.put(mariaGtid.getDomainId(), mariaGtid); + } } public void add(MariaGtid mariaGtid) {