googleapis / googleapis/google-cloud-python

Refactor BulkWriter retries

未关闭
#15,385 1 条评论 0 个 reaction 已指派 1 人 已被 @daniel-sanche 认领 在 GitHub 查看
api: firestore priority: p3 type: cleanup
主要语言
Python
星标
5.4k
派生
1.8k
平均合并
3 天 4 小时
30 天内合并 PR
122

描述

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

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。