winger 7 년 전
부모
커밋
e608e1d601
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/GtidLogEvent.java

+ 3 - 2
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;