Commit 8cb1d4d
committed
fix: code-rev round 7 - resume skips key renames, backup filename collisions
Critical fix:
- Sync and async executor resume paths now perform key prefix renames
after quantize (renames happen after drop in normal path, so they
may not have completed before crash)
Backup naming:
- Add sha256[:8] hash of index_name to backup filenames to prevent
collisions between distinct names that sanitize identically
(e.g., 'a/b' and 'a:b' both become 'a_b' but have different hashes)
- Applied to single-worker, multi-worker, and cleanup paths
Accepted as-is:
- --resume backward compat: intentional, clear error message
- Rollback non-recursive: flat layout matches how backups are written
Tests: 178 passed1 parent ab801ad commit 8cb1d4d
3 files changed
Lines changed: 84 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
547 | 548 | | |
548 | 549 | | |
549 | 550 | | |
550 | | - | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
551 | 555 | | |
552 | 556 | | |
553 | 557 | | |
| |||
692 | 696 | | |
693 | 697 | | |
694 | 698 | | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
695 | 729 | | |
696 | 730 | | |
697 | 731 | | |
| |||
1057 | 1091 | | |
1058 | 1092 | | |
1059 | 1093 | | |
1060 | | - | |
| 1094 | + | |
| 1095 | + | |
1061 | 1096 | | |
1062 | 1097 | | |
1063 | 1098 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
615 | 616 | | |
616 | 617 | | |
617 | 618 | | |
618 | | - | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
619 | 622 | | |
620 | 623 | | |
621 | 624 | | |
622 | 625 | | |
623 | 626 | | |
624 | | - | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
625 | 631 | | |
626 | 632 | | |
627 | 633 | | |
| |||
793 | 799 | | |
794 | 800 | | |
795 | 801 | | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
796 | 834 | | |
797 | 835 | | |
798 | 836 | | |
| |||
1147 | 1185 | | |
1148 | 1186 | | |
1149 | 1187 | | |
1150 | | - | |
| 1188 | + | |
| 1189 | + | |
1151 | 1190 | | |
1152 | 1191 | | |
1153 | 1192 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
264 | 265 | | |
265 | 266 | | |
266 | 267 | | |
| 268 | + | |
267 | 269 | | |
268 | | - | |
| 270 | + | |
269 | 271 | | |
270 | 272 | | |
271 | 273 | | |
| |||
441 | 443 | | |
442 | 444 | | |
443 | 445 | | |
| 446 | + | |
444 | 447 | | |
445 | | - | |
| 448 | + | |
446 | 449 | | |
447 | 450 | | |
448 | 451 | | |
| |||
0 commit comments