apache / apache/bookkeeper

Handle too_many_requests gracefully

Open
#1,369 1 comment 0 reactions 0 assignees View on GitHub
area/client triage/week-33 type/improvement
Dominant language
Java
Stars
2k
Forks
976
Avg merge
6d 15h
Merged PRs (30d)
7

Description

**FEATURE REQUEST**

1. Please describe the feature you are requesting.
Add more policy to deal too_many_requests error

2. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
nice-to-have

3. Provide any additional detail on your proposed use case for this feature.
Currently BookKeeper client use general error dealing logic to handle error, including too_many_requests error sent from bookie. The handle logic is remaking ensemble with excluding 'failed' bookie, but this is unfriendly. For example, when the cluster is small, remaking action will fail and the ledger will be closed, and following add-request will throw error. Maybe we can add other handling error policy: retry connection to 'failed' bookie; block request when resource is limited(one case is when adding to previous 'failed' bookie fail again). And these two policy should be used after current handling logic, and we need to log some useful information, such blocking state when using blocking i/o. I know this blocking and retring 'failed' bookie logic may bring in difficulty to low-latency goal, although it bring some out-of-box more easy-using feature in.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.