There are a number of issues with the current BulkWriter retry implementation:
- the limit of 15 retries is hard-coded, not user configurable
- the BulkWriter-level retries doesn't limit the underlying gapi-clevel retries, resulting in potentially very slow retries
- no max backoff cap
- does not check for idempotency, meaning some operations may be retried when they shouldn't
- uses custom hand-rolled retry logic, instead of relying on the standard api_core
I sugest a full internal refactor of the class, keeping the API the same but cleaning up the internals, and surfacing some extra user configuration
There are a number of issues with the current BulkWriter retry implementation:
I sugest a full internal refactor of the class, keeping the API the same but cleaning up the internals, and surfacing some extra user configuration