From 46af2cdcf1accb55afdeebaa6ccbeae31f79915e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scheibe?= Date: Mon, 3 Apr 2023 13:09:33 +0200 Subject: [PATCH] Promtail: Prevent logging errors on normal shutdown (#8988) **What this PR does / why we need it**: Since PR #4066 two messages are logged for the errors `ErrExpired` and `EOF`, whereas nothing has been logged beforehand. As `ErrExpired` is returned by the `JournalReader` after sending a message to the `until` channel to signal a normal stop, this should not be logged as an error. --- CHANGELOG.md | 5 +++++ clients/pkg/promtail/targets/journal/journaltarget.go | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c853a1266df4..2d10cd449ebd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,8 +17,13 @@ #### Promtail ##### Enhancements + * [8474](https://github.com/grafana/loki/pull/8787) **andriikushch**: Promtail: Add a new target for the Azure Event Hubs +##### Fixes + +* [8988](https://github.com/grafana/loki/pull/8988) **darxriggs**: Promtail: Prevent logging errors on normal shutdown. + ## 2.8.0 (2023-03-??) #### Loki diff --git a/clients/pkg/promtail/targets/journal/journaltarget.go b/clients/pkg/promtail/targets/journal/journaltarget.go index 8f6f76f2bcb0..d528d28d4355 100644 --- a/clients/pkg/promtail/targets/journal/journaltarget.go +++ b/clients/pkg/promtail/targets/journal/journaltarget.go @@ -202,12 +202,16 @@ func journalTargetWithReader( for { err := t.r.Follow(until, io.Discard) if err != nil { - level.Error(t.logger).Log("msg", "received error during sdjournal follow", "err", err.Error()) + if err == sdjournal.ErrExpired { + return + } - if err == sdjournal.ErrExpired || err == syscall.EBADMSG || err == io.EOF { + if err == syscall.EBADMSG || err == io.EOF { level.Error(t.logger).Log("msg", "unable to follow journal", "err", err.Error()) return } + + level.Error(t.logger).Log("msg", "received unexpected error while following the journal", "err", err.Error()) } // prevent tight loop