Skip to content

Fix otel-source lifetimes#822

Merged
MrAnno merged 5 commits intoaxoflow:mainfrom
MrAnno:fix-otel-lifetime
Oct 14, 2025
Merged

Fix otel-source lifetimes#822
MrAnno merged 5 commits intoaxoflow:mainfrom
MrAnno:fix-otel-lifetime

Conversation

@MrAnno
Copy link
Contributor

@MrAnno MrAnno commented Oct 10, 2025

Fixes #264
Fixes #316

I'll write a news entry in #820.

Signed-off-by: László Várady <[email protected]>
@MrAnno MrAnno force-pushed the fix-otel-lifetime branch from 99f7c52 to 5fbbfa4 Compare October 10, 2025 14:31
@MrAnno MrAnno requested review from alltilla and sodomelle October 10, 2025 15:12
The queues must be drained, even when workers are not started at all.

Signed-off-by: László Várady <[email protected]>
It belongs to the worker.

Signed-off-by: László Várady <[email protected]>
@MrAnno MrAnno force-pushed the fix-otel-lifetime branch from 5fbbfa4 to 34ffd15 Compare October 10, 2025 15:13
Unfortunately, the server's lifetime depends on other source-specific
fields, so it can't be abstracted into the gRPC class.

Signed-off-by: László Várady <[email protected]>
@MrAnno MrAnno requested a review from mitzkia October 10, 2025 16:33
@MrAnno
Copy link
Contributor Author

MrAnno commented Oct 13, 2025

According to the gRPC docs, the completion queues should always be drained. We only did that within the worker thread, but in case of config failures during reload, the thread is not started, causing the crashes.

Copy link
Member

@bazsi bazsi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me

@MrAnno MrAnno merged commit 8cf82dc into axoflow:main Oct 14, 2025
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

opentelemetry() source crashes when config init fails Crash while using multiple syslog-ng-otlp() or opentelemetry() drivers without persist-name()

3 participants