Просмотр исходного кода

修复通过`show master status`获取到多个GTID 时,回车符导致UUID 解析失败的bug

winger 6 лет назад
Родитель
Сommit
c16037122b

+ 2 - 1
driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/MysqlGTIDSet.java

@@ -86,7 +86,8 @@ public class MysqlGTIDSet implements GTIDSet {
         if (gtidData == null || gtidData.length() < 1) {
             m = new HashMap<String, UUIDSet>();
         } else {
-            String[] uuidStrs = gtidData.split(",");
+            // 存在多个GTID时会有回车符
+            String[] uuidStrs = gtidData.replaceAll("\n", "").split(",");
             m = new HashMap<String, UUIDSet>(uuidStrs.length);
             for (int i = 0; i < uuidStrs.length; i++) {
                 UUIDSet uuidSet = UUIDSet.parse(uuidStrs[i]);