sandynz commented on issue #18075:
URL: 
https://github.com/apache/shardingsphere/issues/18075#issuecomment-1141143023

   In `MySQLBinlogEventPacketDecoder.java`:
   ```
       @Override
       protected void decode(final ChannelHandlerContext ctx, final ByteBuf in, 
final List<Object> out) {
           MySQLPacketPayload payload = new MySQLPacketPayload(in, 
ctx.channel().attr(CommonConstants.CHARSET_ATTRIBUTE_KEY).get());
           skipSequenceId(payload);
           checkError(payload);
           MySQLBinlogEventHeader binlogEventHeader = new 
MySQLBinlogEventHeader(payload);
           removeChecksum(binlogEventHeader.getEventType(), in);
   ...
           if (in.isReadable()) {
               throw new UnsupportedOperationException(String.format("Do not 
parse binlog event fully, eventHeader: %s, remaining packet %s", 
binlogEventHeader, readRemainPacket(payload)));
           }
       }
   ```
   There's still left some bytes after parsing, it doesn't mean it has problem 
definitely, it could be parsed at next call.
   
   We need to verify `MySQLBinlogEventHeader(timestamp=1653560367, 
eventType=15, serverId=133307, eventSize=121, logPos=0, flags=0), remaining 
packet 3a9d9af2`.
   
   `eventType=15` means `FORMAT_DESCRIPTION_EVENT(0x0f)`. Maybe it should be 
parsed in current method loop.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to