Repository navigation
Commit 5516764
committed
fix(file-search): keep the dispatch pass's file-then-queue lock order
Reaping before the backfill held the owner's queue row while the backfill took FOR SHARE on its
unindexed files; a concurrent save holds its file while its trigger waits on that queue row, so the
two could deadlock. The pass runs backfill then reap again, and a wake that conflicts with a row this
transaction's backfill just stamped as a reconciliation clears the stamp, so a reaped claim stays
ahead of the rotation.1 parent ebb550c commit 5516764
1 file changed
Lines changed: 12 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
232 | | - | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
233 | 241 | | |
234 | 242 | | |
235 | 243 | | |
| |||
660 | 668 | | |
661 | 669 | | |
662 | 670 | | |
663 | | - | |
664 | | - | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
665 | 674 | | |
666 | 675 | | |
667 | 676 | | |
668 | 677 | | |
669 | | - | |
670 | 678 | | |
671 | 679 | | |
672 | 680 | | |
| |||
0 commit comments