diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlEventParser.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlEventParser.java index f510f9afd4..4a0f689475 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlEventParser.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlEventParser.java @@ -787,6 +787,9 @@ public boolean sink(LogEvent event) { event.getWhen() * 1000, event.getServerId()); entryPosition.setGtid(event.getHeader().getGtidSetStr()); + } + + if (justForPositionTimestamp) { logPosition.setPostion(entryPosition); } @@ -805,6 +808,9 @@ public boolean sink(LogEvent event) { if (StringUtils.equals(endPosition.getJournalName(), logfilename) && endPosition.getPosition() <= logfileoffset) { + if (logPosition.getPostion() == null) { + logPosition.setPostion(entryPosition); + } return false; }