You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2012/06/08 01:54:50 UTC
svn commit: r1347836 - in /commons/proper/io/trunk/src: changes/changes.xml
main/java/org/apache/commons/io/input/Tailer.java
Author: sebb
Date: Thu Jun 7 23:54:49 2012
New Revision: 1347836
URL: http://svn.apache.org/viewvc?rev=1347836&view=rev
Log:
IO-279 - Tailer erroneously considers file as new.
Modified:
commons/proper/io/trunk/src/changes/changes.xml
commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/Tailer.java
Modified: commons/proper/io/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/changes/changes.xml?rev=1347836&r1=1347835&r2=1347836&view=diff
==============================================================================
--- commons/proper/io/trunk/src/changes/changes.xml (original)
+++ commons/proper/io/trunk/src/changes/changes.xml Thu Jun 7 23:54:49 2012
@@ -47,6 +47,9 @@ The <action> type attribute can be add,u
<body>
<!-- The release date is the date RC is cut -->
<release version="2.4" date="2012-TDB-TDB" description="">
+ <action issue="IO-279" dev="sebb" type="fix" due-to="Sergio Bossa, Chris Baron">
+ Tailer erroneously considers file as new.
+ </action>
<action issue="IO-335" dev="sebb" type="fix">
Tailer#readLines - incorrect CR handling.
</action>
Modified: commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/Tailer.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/Tailer.java?rev=1347836&r1=1347835&r2=1347836&view=diff
==============================================================================
--- commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/Tailer.java (original)
+++ commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/Tailer.java Thu Jun 7 23:54:49 2012
@@ -297,6 +297,8 @@ public class Tailer implements Runnable
while (run) {
+ boolean newer = FileUtils.isFileNewer(file, last); // IO-279, must be done first
+
// Check the file length to see if it was rotated
long length = file.length();
@@ -326,10 +328,10 @@ public class Tailer implements Runnable
if (length > position) {
// The file has more content than it did last time
- last = System.currentTimeMillis();
position = readLines(reader);
+ last = System.currentTimeMillis();
- } else if (FileUtils.isFileNewer(file, last)) {
+ } else if (newer) {
/*
* This can happen if the file is truncated or overwritten with the exact same length of
@@ -339,8 +341,8 @@ public class Tailer implements Runnable
reader.seek(position); // cannot be null here
// Now we can read new lines
- last = System.currentTimeMillis();
position = readLines(reader);
+ last = System.currentTimeMillis();
}
}
try {