-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Persistent Queue breaks Headers Setter extension #10110
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Hi again, It looks like this also happens with otlphttpexporter. I will prepare a demo config. Please advise; do I open a new issue or rewrite this one? |
You can use this one. |
Pinging code owners for extension/storage: @dmitryax @atoulme @djaglowski. See Adding Labels via Comments if you do not have permissions to add labels yourself. |
I moved this issue to the core repository based on the latest information. The persistent queue feature is part of the exporter helper. |
I haven't looked in depth yet, but my guess is that the I don't have any good suggestions for solutions yet. Is the incoming request safe to write to disk? Feels like there are security concerns there. |
We'd only have to persist the request headers, which should be fine. But if we document that this isn't a supported operation, I'm fine as well. |
Thanks for moving and bringing attention to this. Let me know if you need more example config to reproduce the issue. |
I also ran into this. I can confirm that the persistent queue is what breaks it. It's quite an unfortunate limitation. |
This is a known limitation of the persistent storage. It only persists the data being sent, not the context. I don't think we should even try marshaling whole context. However, this can be a persistent storage configuration where user can specify particular parts of context to be stored in the persistent queue. cc @bogdandrutu as we discussed it some time ago but haven't seen it being an issue until now |
Component(s)
exporterhelper
What happened?
Description
Adding
sending_queue.storage
to Loki exporter combined withauth.authenticator: headers_setter
removes theX-Scope-OrgID
header from the connections to Loki.Steps to Reproduce
auth_enabled: true
headers_setter
to setX-Scope-OrgID
(everything works as expected)
sending_queue.storage
(connections fail with HTTP 401)
Using a static header instead of
headers_setter
makes things work together withsending_queue.storage
.Expected Result
Connections to Loki include the
X-Scope-OrgID
header, like before addingsending_queue.storage
.Actual Result
Connections to Loki do not have the
X-Scope-OrgID
header.Loki and OTel Collector logs HTTP 401.
Collector version
0.93.0
Environment information
Environment
Docker-compose with:
otel/opentelemetry-collector-contrib:0.93.0
grafana/loki:2.9.4
telemetrygen @ v0.93.0
OpenTelemetry Collector configuration
Log output
Additional context
I added the full config used for testing here: https://github.com/lindeskar/otelcol-31018
docker-compose.yaml
loki.yaml
Test query:
logcli --org-id foobar query '{exporter="OTLP"}'
The text was updated successfully, but these errors were encountered: