Commit c6657a4
committed
Make stream snapshots asynchronous
The monitorStream function can block for a long time when creating and
installing a snapshot of a stream's state. This can lead to increased
tail latency.
This commit extends the RaftNode interface with a new InstallSnapshotAsync
method. This method performs snapshot writing and WAL compaction in a
in a separate goroutine, making the process non-blocking. The existing
InstallSnapshot method is now a synchronous wrapper around the new
asynchronous implementation.
Signed-off-by: Daniele Sciascia <[email protected]>1 parent 60a276b commit c6657a4
3 files changed
+188
-34
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2523 | 2523 | | |
2524 | 2524 | | |
2525 | 2525 | | |
2526 | | - | |
| 2526 | + | |
| 2527 | + | |
| 2528 | + | |
| 2529 | + | |
| 2530 | + | |
| 2531 | + | |
| 2532 | + | |
| 2533 | + | |
| 2534 | + | |
2527 | 2535 | | |
2528 | | - | |
| 2536 | + | |
| 2537 | + | |
| 2538 | + | |
| 2539 | + | |
| 2540 | + | |
2529 | 2541 | | |
2530 | 2542 | | |
2531 | 2543 | | |
| |||
2538 | 2550 | | |
2539 | 2551 | | |
2540 | 2552 | | |
2541 | | - | |
| 2553 | + | |
| 2554 | + | |
| 2555 | + | |
| 2556 | + | |
| 2557 | + | |
| 2558 | + | |
| 2559 | + | |
| 2560 | + | |
| 2561 | + | |
| 2562 | + | |
| 2563 | + | |
| 2564 | + | |
| 2565 | + | |
| 2566 | + | |
| 2567 | + | |
| 2568 | + | |
| 2569 | + | |
| 2570 | + | |
| 2571 | + | |
| 2572 | + | |
| 2573 | + | |
| 2574 | + | |
| 2575 | + | |
| 2576 | + | |
| 2577 | + | |
| 2578 | + | |
2542 | 2579 | | |
| 2580 | + | |
2543 | 2581 | | |
2544 | | - | |
2545 | | - | |
2546 | | - | |
2547 | | - | |
2548 | | - | |
2549 | | - | |
| 2582 | + | |
| 2583 | + | |
| 2584 | + | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
2550 | 2588 | | |
2551 | 2589 | | |
2552 | 2590 | | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
2553 | 2603 | | |
2554 | 2604 | | |
2555 | 2605 | | |
| |||
2621 | 2671 | | |
2622 | 2672 | | |
2623 | 2673 | | |
| 2674 | + | |
| 2675 | + | |
2624 | 2676 | | |
2625 | 2677 | | |
2626 | 2678 | | |
| |||
2730 | 2782 | | |
2731 | 2783 | | |
2732 | 2784 | | |
2733 | | - | |
| 2785 | + | |
2734 | 2786 | | |
2735 | 2787 | | |
2736 | 2788 | | |
| |||
2826 | 2878 | | |
2827 | 2879 | | |
2828 | 2880 | | |
2829 | | - | |
| 2881 | + | |
2830 | 2882 | | |
2831 | 2883 | | |
2832 | 2884 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
230 | 231 | | |
231 | 232 | | |
232 | 233 | | |
| 234 | + | |
233 | 235 | | |
234 | 236 | | |
235 | 237 | | |
| |||
307 | 309 | | |
308 | 310 | | |
309 | 311 | | |
| 312 | + | |
310 | 313 | | |
311 | 314 | | |
312 | 315 | | |
| |||
1242 | 1245 | | |
1243 | 1246 | | |
1244 | 1247 | | |
1245 | | - | |
1246 | | - | |
1247 | | - | |
1248 | | - | |
1249 | | - | |
1250 | | - | |
1251 | | - | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
1252 | 1254 | | |
1253 | | - | |
1254 | | - | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
1255 | 1260 | | |
1256 | 1261 | | |
1257 | | - | |
1258 | | - | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
1259 | 1265 | | |
1260 | 1266 | | |
1261 | | - | |
1262 | | - | |
| 1267 | + | |
| 1268 | + | |
1263 | 1269 | | |
1264 | | - | |
| 1270 | + | |
| 1271 | + | |
1265 | 1272 | | |
1266 | 1273 | | |
1267 | 1274 | | |
1268 | 1275 | | |
1269 | | - | |
| 1276 | + | |
| 1277 | + | |
1270 | 1278 | | |
1271 | 1279 | | |
1272 | | - | |
1273 | | - | |
1274 | | - | |
1275 | | - | |
| 1280 | + | |
| 1281 | + | |
1276 | 1282 | | |
1277 | | - | |
| 1283 | + | |
| 1284 | + | |
1278 | 1285 | | |
1279 | 1286 | | |
1280 | | - | |
| 1287 | + | |
1281 | 1288 | | |
1282 | | - | |
1283 | | - | |
| 1289 | + | |
| 1290 | + | |
1284 | 1291 | | |
1285 | 1292 | | |
1286 | 1293 | | |
1287 | 1294 | | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
1288 | 1352 | | |
1289 | 1353 | | |
1290 | 1354 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4049 | 4049 | | |
4050 | 4050 | | |
4051 | 4051 | | |
| 4052 | + | |
| 4053 | + | |
| 4054 | + | |
| 4055 | + | |
| 4056 | + | |
| 4057 | + | |
| 4058 | + | |
| 4059 | + | |
| 4060 | + | |
| 4061 | + | |
| 4062 | + | |
| 4063 | + | |
| 4064 | + | |
| 4065 | + | |
| 4066 | + | |
| 4067 | + | |
| 4068 | + | |
| 4069 | + | |
| 4070 | + | |
| 4071 | + | |
| 4072 | + | |
| 4073 | + | |
| 4074 | + | |
| 4075 | + | |
| 4076 | + | |
| 4077 | + | |
| 4078 | + | |
| 4079 | + | |
| 4080 | + | |
| 4081 | + | |
| 4082 | + | |
| 4083 | + | |
| 4084 | + | |
| 4085 | + | |
| 4086 | + | |
| 4087 | + | |
| 4088 | + | |
| 4089 | + | |
0 commit comments