engine: fix high memory usage in FluentLogEventRouter #4996
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Which issue(s) this PR fixes:
Fixes #4994
What this PR does / why we need it:
Previously,
FluentLogEventRouter
was designed to start processing only after the worker had started.As a result, if a large number of warnings were emitted by the
in_tail
plugin immediately after the worker started,lots of warning messages would accumulate in the
FluentLogEventRouter
's queue.And it consumes a significant amount of memory.
This PR changes the behavior so that
FluentLogEventRouter
starts processing before the worker is fully started, allowing it to consume the message queue immediately.With this change, memory usage is significantly reduced compared to the previous implementation.
Here is the memory usage was obtained using the same operation as #4994.

FYI)
You can confirm the memory usage easily with the following sample code.
Docs Changes:
Release Note: