Commit 9b662ea
authored
[nexus] Use retryable transactions more extensively (#7212)
This PR finds spots where we use `transaction_async` and makes them use
`transaction_retry_wrapper` instead.
This means that under contention, we'll avoid wasting work, and can make
use of CockroachDB's automated retry mechanisms.
Additionally, this PR adds a clippy lint to help future usage avoid the
"non-retryable" transaction variant.
There are some use cases where avoiding retries is still reasonable:
1. Test-only code
2. Transactions which have truly minimal contention, or which can fail
with serialization errors without issue
3. Nested transactions1 parent e73a30e commit 9b662ea
File tree
16 files changed
+478
-384
lines changed- dev-tools/omdb/src/bin/omdb
- nexus
- db-queries/src/db
- datastore
- src/app/sagas
16 files changed
+478
-384
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
13 | 19 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
335 | 335 | | |
336 | 336 | | |
337 | 337 | | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
338 | 343 | | |
339 | 344 | | |
340 | 345 | | |
| |||
1087 | 1092 | | |
1088 | 1093 | | |
1089 | 1094 | | |
| 1095 | + | |
1090 | 1096 | | |
1091 | 1097 | | |
1092 | 1098 | | |
| |||
1101 | 1107 | | |
1102 | 1108 | | |
1103 | 1109 | | |
1104 | | - | |
1105 | | - | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
1106 | 1114 | | |
1107 | 1115 | | |
1108 | | - | |
1109 | | - | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
1110 | 1120 | | |
1111 | | - | |
| 1121 | + | |
1112 | 1122 | | |
1113 | 1123 | | |
1114 | 1124 | | |
1115 | 1125 | | |
1116 | | - | |
| 1126 | + | |
1117 | 1127 | | |
1118 | 1128 | | |
1119 | 1129 | | |
| |||
1130 | 1140 | | |
1131 | 1141 | | |
1132 | 1142 | | |
1133 | | - | |
| 1143 | + | |
1134 | 1144 | | |
1135 | | - | |
| 1145 | + | |
1136 | 1146 | | |
1137 | 1147 | | |
1138 | 1148 | | |
| |||
1259 | 1269 | | |
1260 | 1270 | | |
1261 | 1271 | | |
| 1272 | + | |
1262 | 1273 | | |
1263 | 1274 | | |
1264 | | - | |
1265 | | - | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
1269 | 1278 | | |
1270 | 1279 | | |
1271 | 1280 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
363 | 364 | | |
364 | 365 | | |
365 | 366 | | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | 367 | | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
391 | 405 | | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
400 | 410 | | |
401 | 411 | | |
402 | 412 | | |
| |||
441 | 451 | | |
442 | 452 | | |
443 | 453 | | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
444 | 457 | | |
445 | 458 | | |
446 | 459 | | |
| |||
1724 | 1737 | | |
1725 | 1738 | | |
1726 | 1739 | | |
| 1740 | + | |
| 1741 | + | |
1727 | 1742 | | |
1728 | 1743 | | |
1729 | 1744 | | |
| |||
0 commit comments