Commit 5f283d1
committed
(improvement) LWT no-shuffle shortcut with determinism tests
Restructure the shuffle block in TokenAwarePolicy.make_query_plan to
use a nested 'if' instead of 'and', making it explicit that LWT queries
skip both the shuffle and the list copy (Paxos leader optimization).
Includes 4 new unit tests verifying: LWT deterministic ordering, LWT
skips list copy, non-LWT shuffle works, and LWT+cache determinism.
Performance results (100K queries, 45 hosts, 5 DCs, 3 racks/DC,
median of 5 runs, single CPU pinned):
Policy | master (Kops/s) | branch (Kops/s) | Speedup
------------------------+-----------------+-----------------+--------
DCAware | 663 | 1523 | 2.3x
RackAware | 398 | 1210 | 3.0x
TokenAware(DCAware) | 116 | 470 | 4.1x
TokenAware(RackAware) | 106 | 376 | 3.5x
Default(DCAware) | 539 | 891 | 1.7x
HostFilter(DCAware) | 239 | 436 | 1.8x
Note: TokenAware benchmark uses unique keys per query (0% cache hit
rate). Real workloads with repeated partition keys will benefit further
from the replica cache added in the previous commit.1 parent 880d84b commit 5f283d1
2 files changed
Lines changed: 104 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
763 | | - | |
764 | | - | |
765 | | - | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
766 | 767 | | |
767 | 768 | | |
768 | 769 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1445 | 1445 | | |
1446 | 1446 | | |
1447 | 1447 | | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
1448 | 1548 | | |
1449 | 1549 | | |
1450 | 1550 | | |
| |||
0 commit comments