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

Librdkafka handles KAFKA_STORAGE_ERROR (56) as not retriable #3026

Closed
2 of 7 tasks
ccf opened this issue Aug 13, 2020 · 0 comments
Closed
2 of 7 tasks

Librdkafka handles KAFKA_STORAGE_ERROR (56) as not retriable #3026

ccf opened this issue Aug 13, 2020 · 0 comments

Comments

@ccf
Copy link

ccf commented Aug 13, 2020

Read the FAQ first: https://github.com/edenhill/librdkafka/wiki/FAQ

Description

We are observing librdkafka not handle KAFKA_STORAGE_ERROR as a retriable error, as documented in the Kafka protocol. The client returns the error in the delivery callback, rather than retrying.

How to reproduce

We use the situation that caused us to discover the problem -- we exhaust file descriptors on a broker causing stress and leadership change events. Once the broker reaches the maximum number of fd's and generates KAFKA_STORAGE_ERROR to clients, they will exit accordingly.

We have reproduced this with all versions including 1.5.0.

We have simulated the same failure scenario with Java clients and the Java client handles the error as retriable.

Checklist

IMPORTANT: We will close issues where the checklist has not been completed.

Please provide the following information:

  • librdkafka version (release number or git tag): 1.5.0
  • Apache Kafka version: 2.4.2
  • librdkafka client configuration: defaults
  • Operating system: RHEL 7.6
  • Provide logs (with debug=.. as necessary) from librdkafka
  • Provide broker log excerpts
  • Critical issue: If this means the client can't handle a disk failure gracefully, I would say so...
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

No branches or pull requests

2 participants