From 7c702b403e06b7444c25add026db96a5bf3b296a Mon Sep 17 00:00:00 2001 From: zhulinhai <784820268@qq.com> Date: Sat, 29 Jun 2019 21:07:43 +0800 Subject: [PATCH] FLUME-3342:Fix the taildir source read the data duplication. --- .../flume/source/taildir/ReliableTaildirEventReader.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/ReliableTaildirEventReader.java b/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/ReliableTaildirEventReader.java index ae9583620a..267169370d 100644 --- a/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/ReliableTaildirEventReader.java +++ b/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/ReliableTaildirEventReader.java @@ -134,7 +134,7 @@ public void loadPositionFile(String filePath) { + "inode: " + inode + ", pos: " + pos + ", path: " + path); } TailFile tf = tailFiles.get(inode); - if (tf != null && tf.updatePos(path, inode, pos)) { + if (tf != null && tf.updatePos(tf.getPath(), inode, pos)) { tailFiles.put(inode, tf); } else { logger.info("Missing file: " + path + ", inode: " + inode + ", pos: " + pos); @@ -251,11 +251,11 @@ public List updateTailFiles(boolean skipToEnd) throws IOException { continue; } TailFile tf = tailFiles.get(inode); - if (tf == null || !tf.getPath().equals(f.getAbsolutePath())) { + if (tf == null) { long startPos = skipToEnd ? f.length() : 0; tf = openFile(f, headers, inode, startPos); } else { - boolean updated = tf.getLastUpdated() < f.lastModified() || tf.getPos() != f.length(); + boolean updated = tf.getLastUpdated() < f.lastModified(); if (updated) { if (tf.getRaf() == null) { tf = openFile(f, headers, inode, tf.getPos());