Skip to content
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

[exporter/elasticsearch] Make retry statuses configurable and default to 429 only #32584

Open
carsonip opened this issue Apr 22, 2024 · 4 comments
Labels

Comments

@carsonip
Copy link
Contributor

carsonip commented Apr 22, 2024

Component(s)

exporter/elasticsearch

Is your feature request related to a problem? Please describe.

Elasticsearch exporter retries on 500, 502, 503, 504, 429 by default, on both request level and document level. This is not ideal and may lead to duplicates.

Describe the solution you'd like

The retriable statuses should be configurable such that users may decide whether they prefer guaranteed delivery or no duplicates. It should default to retrying on 429 only.

Additional context

Integration tests need to be updated since it is testing with document level 500s now.

@carsonip carsonip added enhancement New feature or request needs triage New item requiring triage labels Apr 22, 2024
Copy link
Contributor

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@crobert-1
Copy link
Member

It looks like the current thought, from what I'm gathering in the PR discussion, is that the default will stay the same for now, with warnings that functionality will change in the near future. A code owner was involved in this discussion and has signed off, so I'm removing needs triage.

@crobert-1 crobert-1 removed the needs triage New item requiring triage label Apr 23, 2024
@carsonip
Copy link
Contributor Author

#32585 will add the config option and another PR in the future will change the default.

codeboten added a commit that referenced this issue May 1, 2024
Previously, the status codes that trigger retries were hardcoded to be
429, 500, 502, 503, 504.
It is now configurable using `retry.retry_on_status`, and defaults to
`[429, 500, 502, 503, 504]` to avoid a breaking change.
To avoid duplicates, it is recommended to configure
`retry.retry_on_status` to `[429]`, which would be the default in a
future version.

Part of #32584

---------

Co-authored-by: Vishal Raj <vishal.raj@elastic.co>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
rimitchell pushed a commit to rimitchell/opentelemetry-collector-contrib that referenced this issue May 8, 2024
…etry#32585)

Previously, the status codes that trigger retries were hardcoded to be
429, 500, 502, 503, 504.
It is now configurable using `retry.retry_on_status`, and defaults to
`[429, 500, 502, 503, 504]` to avoid a breaking change.
To avoid duplicates, it is recommended to configure
`retry.retry_on_status` to `[429]`, which would be the default in a
future version.

Part of open-telemetry#32584

---------

Co-authored-by: Vishal Raj <vishal.raj@elastic.co>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
Copy link
Contributor

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 @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions github-actions bot added the Stale label Jun 24, 2024
@crobert-1 crobert-1 removed the Stale label Jun 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants