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

Refactor BulkWriter retries #881

Open
daniel-sanche opened this issue Mar 11, 2024 · 0 comments
Open

Refactor BulkWriter retries #881

daniel-sanche opened this issue Mar 11, 2024 · 0 comments
Assignees
Labels
api: firestore Issues related to the googleapis/python-firestore API. priority: p3 Desirable enhancement or fix. May not be included in next release. type: cleanup An internal cleanup or hygiene concern.
Milestone

Comments

@daniel-sanche
Copy link
Contributor

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

@daniel-sanche daniel-sanche added the priority: p3 Desirable enhancement or fix. May not be included in next release. label Mar 11, 2024
@daniel-sanche daniel-sanche added this to the Retry Audit milestone Mar 11, 2024
@daniel-sanche daniel-sanche self-assigned this Mar 11, 2024
@product-auto-label product-auto-label bot added the api: firestore Issues related to the googleapis/python-firestore API. label Mar 11, 2024
@kolea2 kolea2 added the type: cleanup An internal cleanup or hygiene concern. label Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: firestore Issues related to the googleapis/python-firestore API. priority: p3 Desirable enhancement or fix. May not be included in next release. type: cleanup An internal cleanup or hygiene concern.
Projects
None yet
Development

No branches or pull requests

2 participants