cutoff time calculation part is using Time.now
But if file list to check is too many, sometimes Time.now will be change seconds.
example)
previous loop : Time.now => 2021-04-06T20:13:59.996
current loop : Time.now => 2021-04-06T20:14:00.001
If two files have same modified second, first file is not process for next cycle.
The other is processed and update sincedb.
When next cycle, first file is not processed because first file's modified time is same sincedb.
If current_time will be getted before loop and use current_time in loop , there will be no missing files.
cutoff time calculation part is using Time.now But if file list to check is too many, sometimes Time.now will be change seconds. example) previous loop : Time.now => 2021-04-06T20:13:59.996 current loop : Time.now => 2021-04-06T20:14:00.001 If two files have same modified second, first file is not process for next cycle. The other is processed and update sincedb. When next cycle, first file is not processed because first file's modified time is same sincedb.
If current_time will be getted before loop and use current_time in loop , there will be no missing files.
Related Issue
227
Thanks for contributing to Logstash! If you haven't already signed our CLA, here's a handy link: https://www.elastic.co/contributor-agreement/