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]