[IO-279] Add Tailer ignoreTouch option #757
Merged
garydgregory merged 3 commits intoapache:masterfrom Jul 5, 2025
Merged
Conversation
…oose to ignore touching of watched file
Member
garydgregory
reviewed
Jul 5, 2025
garydgregory
reviewed
Jul 5, 2025
garydgregory
added a commit
that referenced
this pull request
Jul 5, 2025
Member
|
TY @JoergBudi ! |
Member
|
One of the new test is unstable: Please see if you can re-write it with a count-down latch, or another sync technique. |
Contributor
Author
|
@garydgregory I will work on the unstable test and try not to slow it down for the other platforms, I'll provide a new PR for that soon. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…oose to ignore touching of watched file
So I got late to the old io-279 Tailer issue. In the long history, some changes were already made long ago.
However from reading the last comments, some users want to avoid to get the whole file replayed
when the timestamp of the watched file changes without a content update. I added an ignoreTouch option, the default is false and resembles current behaviour (file gets replayed) (inspired from the 2015 patch by gh user myyron).
When changed to true via the Builder pattern, a newertimestamp with constant content gets ignored.
That makes the Tailer more similar to "tail -f" (issuing touch on the watched file is ignored then), but note that subtle differences remain. When you copy the identical file onto watched file, "tail -f" realizes that and replays the whole file. With ignoreTouch=true, the Tailer ignores that, as it looks identical to touching.
Added 2 Junit tests to verify both behaviours explictly.