Commit c2ea843
CQ: Confirm related optimisations (#7516)
* CQ: Optimise shared store remove when nothing to remove
The message(s) was/were already optimised out during write
when the client acked faster than we could process the
write message.
* Optimise sets:subtract in single-confirm case
This happens due to message store optimisations that tries
to confirm as fast as possible on write or ack, even if that
means processing a single confirm. The ack scenario is common
because clients tend to not be built for multi-ack.
The optimisation avoids calling an expensive sets:subtract/2
when there is a single new confirm and instead does a
sets:del_element/2 of the first set.
(cherry picked from commit 0dce848)1 parent 8cac114 commit c2ea843
File tree
2 files changed
+23
-6
lines changed- deps/rabbit/src
2 files changed
+23
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
936 | 936 | | |
937 | 937 | | |
938 | 938 | | |
939 | | - | |
940 | | - | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
941 | 944 | | |
942 | 945 | | |
943 | 946 | | |
| |||
1372 | 1375 | | |
1373 | 1376 | | |
1374 | 1377 | | |
1375 | | - | |
| 1378 | + | |
1376 | 1379 | | |
1377 | 1380 | | |
1378 | 1381 | | |
| |||
1381 | 1384 | | |
1382 | 1385 | | |
1383 | 1386 | | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
1384 | 1394 | | |
1385 | 1395 | | |
1386 | 1396 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2355 | 2355 | | |
2356 | 2356 | | |
2357 | 2357 | | |
2358 | | - | |
2359 | | - | |
2360 | | - | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
2361 | 2361 | | |
2362 | 2362 | | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
2363 | 2370 | | |
2364 | 2371 | | |
2365 | 2372 | | |
| |||
0 commit comments