Skip to content

engine: added conditional to avoid re-scheduling conflict - #10291

Merged
edsiper merged 1 commit into
3.2from
leonardo-3.2-issue-9839-fix-backport
May 5, 2025
Merged

engine: added conditional to avoid re-scheduling conflict#10291
edsiper merged 1 commit into
3.2from
leonardo-3.2-issue-9839-fix-backport

Conversation

@leonardo-albertovich

Copy link
Copy Markdown
Contributor

When fluent-bit is shutting down it tries to immediately reschedule any pending retries, however, due to how scheduling works a flush task can be scheduled to run and (by signaling the appropriate pipe) then flb_engine_reschedule_retries can try to invalidate it and re-schedule it which in turn causes a problem when handle_output_event is invoked to handle the result of the flush that was supposed to be aborted because when a chunk has only one route it's always set down.

This is not the optimal approach but it's the safest one within the limits of the system.

Note : This is a backport of PR #10290

When fluent-bit is shutting down it tries to immediately reschedule any
pending retries, however, due to how scheduling works a flush task can
be scheduled to run and (by signaling the appropriate pipe) then
flb_engine_reschedule_retries can try to invalidate it and re-schedule
it which in turn causes a problem when handle_output_event is invoked to
handle the result of the flush that was supposed to be aborted because
when a chunk has only one route it's always set down.

This is not the optimal approach but it's the safest one within the
limits of the system.

Signed-off-by: Leonardo Alminana <leonardo.alminana@chronosphere.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants