googleapis / googleapis/google-cloud-python

Refactor BulkWriter retries

Ouverte
#15,385 1 commentaire 0 réactions 1 personne assignée Réclamée par @daniel-sanche Voir sur GitHub
api: firestore priority: p3 type: cleanup
Langage dominant
Python
Étoiles
5.4k
Forks
1.8k
Merge moyen
3 j 4 h
PR mergées (30 j)
122

Description

There are a number of issues with the current BulkWriter retry implementation:
- the limit of 15 retries is [hard-coded](https://github.com/googleapis/python-firestore/blob/8ddb859c8178043c0dcd09c85d68ba5d311563bf/google/cloud/firestore_v1/bulk_writer.py#L341), 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

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.