MINIFICPP-1335 TailFile no longer generates an empty flowfile...
...in every onTrigger call when used without delimiter
Signed-off-by: Marton Szasz <szaszm01@gmail.com>
This closes #876
diff --git a/extensions/standard-processors/processors/TailFile.cpp b/extensions/standard-processors/processors/TailFile.cpp
index c5d2a1a..913fb59 100644
--- a/extensions/standard-processors/processors/TailFile.cpp
+++ b/extensions/standard-processors/processors/TailFile.cpp
@@ -654,8 +654,12 @@
void TailFile::processFile(const std::shared_ptr<core::ProcessSession> &session,
const std::string &full_file_name,
TailState &state) {
- if (utils::file::FileUtils::file_size(full_file_name) < state.position_) {
+ uint64_t fsize = utils::file::FileUtils::file_size(full_file_name);
+ if (fsize < state.position_) {
processRotatedFiles(session, state);
+ } else if (fsize == state.position_) {
+ logger_->log_trace("Skipping file %s as its size hasn't change since last read", state.file_name_);
+ return;
}
processSingleFile(session, full_file_name, state);