Skip to content

otlp http exporter doesn't handle 429s properly #9892

Closed
@jaronoff97

Description

@jaronoff97

Describe the bug
Currently, when the OTLP HTTP exporter's request is responded to with any HTTP error code (429 for example), the status code is dropped which makes back propagation impossible. This is because we create a new formatted error and return that to the exporter's caller.

Steps to reproduce
Setup a collector with any receiver, no processors, and an OTLP http exporter. Have the exporter send to a server that always responds with a 429. Send data to the receiver, the status code will be a 500.

What did you expect to see?
I expected the receiver to observe a 429.

What did you see instead?
The receiver observed a 500.

What version did you use?
v0.97.0

What config did you use?

exporters:
  otlphttp:
    logs_endpoint: "destination"
    sending_queue:
      enabled: false
    retry_on_failure:
      max_elapsed_time: 20s
  logging:
    verbosity: detailed
receivers:
  webhookevent:
    endpoint: "0.0.0.0:8080"
    include_metadata: true
processors:
service:
  pipelines:
    logs:
      exporters:
      - otlphttp
      processors: []
      receivers:
      - webhookevent
  telemetry:
    metrics:
      level: detailed
    resource:
      service.name: test

Environment
"Ubuntu 20.04"

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions