-
Notifications
You must be signed in to change notification settings - Fork 1.1k
PYTHON-5668 - Merge backpressure branch into mainline #2729
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
Changes from 250 commits
725dbc2
54fd7b6
1603122
6fc8bdd
5a71892
1418c90
7da2c35
91e6089
220649d
865cecd
fc6ce2a
071d09e
4e84bd4
bf9452b
bd12579
7ad6215
d952970
01733cf
8395c8b
be9cbd1
fd4049b
04fc9a5
2ed2498
b1dcfbe
8d7c96f
24b7c2f
0ed2438
31800c7
7827fa9
8ce09cf
14bdd27
f938358
5662f2e
b4fedd5
874f623
a0d9140
55eb2f1
6a12533
9349d90
cf909aa
7eafd5d
cb075e5
5bef533
564527c
82978f9
9f40142
87bc432
516ec00
c14943a
edb5419
ffa3d0d
32168e9
715a56d
35698e0
47db389
5321aa8
a595e39
85b7090
524686a
7b2a009
840cfac
3d11495
62ffa2c
0ce7e7d
e143f47
082e1a4
88ea6ff
dc4373d
382415f
9cdf369
89984e1
9babce9
2329f91
fc3ce9d
3330ee0
e133da5
7814f1a
b36b254
e69ee19
5ac2a91
efc08b2
0609631
464bcde
2e6201d
b431154
e296cf9
230dd08
ceb2bde
75d9623
9fe7359
71ceb58
789a10f
bab9849
1d39d87
8d3d31d
14b57b0
e3b7a2e
3b6ab84
28dded8
7970871
d870f6d
317a991
d288759
fdef122
dbf2bda
9bd25fb
a99ec0e
a573ba0
6f330ae
63c3739
3feb663
d77e8ab
0fbfba7
47f5804
67bb82a
f016e85
5d67dbc
cecaa7f
88e5df5
8685f59
51292de
8c39812
c0d5220
011969a
0dece2f
51afaa8
536a20e
56f7268
50d9b26
ecd548f
efc53e3
33922d4
cee3e61
7ae2d95
9569a35
6540681
60ad013
b52c46e
da0d5ec
87a6ca6
755c1b5
0634cef
e9744f2
1b4de22
0d3c471
c5ca1f2
39559d6
9768a05
953c06d
ccc5dfc
2a80cda
beee2ec
684a5ab
bf34fa0
826ebef
563f98d
3676c37
1858879
4cd2a64
c69de56
354b166
c1f91b8
888abc7
d406616
d07301e
a54d9d0
d6b3865
87876b5
c954174
c1c84b2
7a34a46
2df1cf9
8eab432
74ec258
a0994a5
56affb4
8236904
bd33b8d
1370dee
e334c4f
41a760d
d04c4b9
da2d09b
d59f20a
1754bbe
7edf68f
b59039b
26542db
daf0f89
67a2e17
fa821ac
efd833b
222877c
7529979
9c6f82d
7ae185a
ca59c31
a291fd0
30d1c7f
a216788
6ce1501
e91b817
c0d6244
389f4cb
8082ca0
af18e5f
7dc4a8d
b830ef0
6bf7615
9e113e7
4ce19a1
d3da880
90923df
c0b5191
41c61a6
6c293df
5071487
9cc1a55
9ec841f
145cade
ed3a974
c6526f8
0010325
d767759
88f05fa
e1249d0
84699d2
27a9f47
8dbf903
9c70be4
1d219a9
e7a5247
359ddfa
cc5b9c4
0a47a19
3724303
a7fc68f
3f64de3
02320d6
d864822
863704e
0948cdf
260c829
284dfa2
2bf2502
30ccd77
49302f9
02201d2
065e282
b658cbd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -563,9 +563,21 @@ async def _execute_command( | |
| error, ConnectionFailure | ||
| ) and not isinstance(error, (NotPrimaryError, WaitQueueTimeoutError)) | ||
|
|
||
| retryable_label_error = ( | ||
| hasattr(error, "details") | ||
| and isinstance(error.details, dict) | ||
| and "errorLabels" in error.details | ||
| and isinstance(error.details["errorLabels"], list) | ||
| and "RetryableError" in error.details["errorLabels"] | ||
| ) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could this ^ be
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you expand on what this
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good catch, that is a clarity and consistency improvement. |
||
|
|
||
| # Synthesize the full bulk result without modifying the | ||
| # current one because this write operation may be retried. | ||
| if retryable and (retryable_top_level_error or retryable_network_error): | ||
| if retryable and ( | ||
| retryable_top_level_error | ||
| or retryable_network_error | ||
| or retryable_label_error | ||
| ): | ||
| full = copy.deepcopy(full_result) | ||
| _merge_command(self.ops, self.idx_offset, full, result) | ||
| _throw_client_bulk_write_exception(full, self.verbose_results) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think PYTHON-5668.patch can be removed too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch! At long last