From e608e1d6012e2cf5bfecaaf068a730633dac8a70 Mon Sep 17 00:00:00 2001 From: winger Date: Thu, 26 Jul 2018 12:33:10 +0800 Subject: [PATCH] fix bug #776 --- .../com/taobao/tddl/dbsync/binlog/event/GtidLogEvent.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/GtidLogEvent.java b/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/GtidLogEvent.java index b645e954..5c2678b5 100644 --- a/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/GtidLogEvent.java +++ b/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/GtidLogEvent.java @@ -44,13 +44,14 @@ public class GtidLogEvent extends LogEvent { gno = buffer.getLong64(); // support gtid lastCommitted and sequenceNumber - // 42 = 1+16+8+1+8+8 - if (buffer.capacity() > 42 && buffer.getUint8() == LOGICAL_TIMESTAMP_TYPE_CODE) { + // fix bug #776 + if (buffer.hasRemaining() && buffer.remaining() > 16 && buffer.getUint8() == LOGICAL_TIMESTAMP_TYPE_CODE) { lastCommitted = buffer.getLong64(); sequenceNumber = buffer.getLong64(); } + // ignore gtid info read // sid.copy_from((uchar *)ptr_buffer); // ptr_buffer+= ENCODED_SID_LENGTH;