From f9edeca6d2a55d6906346ac91df958e6cb228629 Mon Sep 17 00:00:00 2001 From: Fred Wulff Date: Thu, 29 Jan 2015 11:51:34 -0800 Subject: [PATCH] FileLogFetcher's fetch() method should fix up position and origin even if we weren't successful at fetching anything from the file --- .../java/com/taobao/tddl/dbsync/binlog/FileLogFetcher.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/FileLogFetcher.java b/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/FileLogFetcher.java index dce0ee6b..d35ffcb0 100644 --- a/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/FileLogFetcher.java +++ b/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/FileLogFetcher.java @@ -129,11 +129,11 @@ public final class FileLogFetcher extends LogFetcher { } } else if (limit > 0) { System.arraycopy(buffer, origin, buffer, 0, limit); + position -= origin; + origin = 0; final int len = fin.read(buffer, limit, buffer.length - limit); if (len >= 0) { limit += len; - position -= origin; - origin = 0; /* More binlog to fetch */ return true;