From 31a6c5da6e637b7ad0d8bab72140193204e5fbd9 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 3 Feb 2022 15:57:49 -0600 Subject: [PATCH] [7.17](backport #30006) Fix loop while reading from standalone evtx (#30188) * Fix loop while reading from standalone evtx (#30006) - Fix loop while reading from standalone evtx file - Moved stop variable and check to outer loop Co-authored-by: Taylor Swanson (cherry picked from commit 3c6724adb94235feed193bc2f9c27ff1ebfd271b) --- CHANGELOG.next.asciidoc | 1 + winlogbeat/beater/eventlogger.go | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 8ef4bee6d2fb..2c605187040c 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -25,6 +25,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d *Winlogbeat* +- Fix run loop when reading from evtx file {pull}30006[30006] *Functionbeat* diff --git a/winlogbeat/beater/eventlogger.go b/winlogbeat/beater/eventlogger.go index b7507cfe8c05..390a2fb39755 100644 --- a/winlogbeat/beater/eventlogger.go +++ b/winlogbeat/beater/eventlogger.go @@ -130,7 +130,7 @@ func (e *eventLogger) run( }() runLoop: - for { + for stop := false; !stop; { err = api.Open(state) if eventlog.IsRecoverable(err) { e.log.Warnw("Open() encountered recoverable error. Trying again...", "error", err) @@ -142,7 +142,7 @@ runLoop: } e.log.Debug("Opened successfully.") - for stop := false; !stop; { + for !stop { select { case <-done: return @@ -171,6 +171,9 @@ runLoop: e.log.Debugf("Read() returned %d records.", len(records)) if len(records) == 0 { time.Sleep(time.Second) + if stop { + return + } continue }