Commit 57018fc
committed
fix(run-store): three more index-less waitpoint losses on the read path
The previous fix stored the complete id set but left three places still deriving
it from the ordered list, and the ordered list holds only batch-indexed ids.
A carry-forward decided on the order alone. Two DIFFERENT single waits both
present an empty order, so they compared equal, the second inherited the first's
cycle, and a read returned the wrong waitpoint entirely. The comparison now
requires the id set to match as well.
The dequeue site built its Redis refs from the ordered list while the delegate
connects the complete set in Postgres, so an index-less waitpoint reached
Postgres and never reached Redis. Refs are now built from the complete set, with
the index taken from the ordered list where the id appears in it.
The entry decode derived the set from the order too, which meant getLatest and
getById returned an incomplete set. That is the hot read: findLatestExecutionSnapshot
hydrates the waitpoint rows from it, so a resume would have fetched no row at all
for a single wait. The read scripts now return the stored set alongside the order.
Four tests, each verified against its own defect: two consecutive single waits
keep separate cycles, a repeated one still carries forward, the dequeue snapshot
keeps an index-less id, and the hot read hydrates its row.1 parent e9ce909 commit 57018fc
3 files changed
Lines changed: 194 additions & 21 deletions
File tree
- internal-packages/run-store/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
457 | 457 | | |
458 | 458 | | |
459 | 459 | | |
| 460 | + | |
460 | 461 | | |
461 | 462 | | |
462 | 463 | | |
463 | 464 | | |
464 | | - | |
| 465 | + | |
465 | 466 | | |
466 | 467 | | |
467 | 468 | | |
| |||
471 | 472 | | |
472 | 473 | | |
473 | 474 | | |
474 | | - | |
| 475 | + | |
475 | 476 | | |
476 | 477 | | |
477 | 478 | | |
478 | 479 | | |
479 | 480 | | |
480 | | - | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
481 | 486 | | |
482 | 487 | | |
483 | 488 | | |
| |||
516 | 521 | | |
517 | 522 | | |
518 | 523 | | |
| 524 | + | |
519 | 525 | | |
520 | 526 | | |
521 | 527 | | |
522 | 528 | | |
523 | | - | |
| 529 | + | |
524 | 530 | | |
525 | 531 | | |
526 | 532 | | |
| |||
529 | 535 | | |
530 | 536 | | |
531 | 537 | | |
532 | | - | |
| 538 | + | |
533 | 539 | | |
534 | 540 | | |
535 | 541 | | |
536 | 542 | | |
537 | 543 | | |
538 | | - | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
539 | 549 | | |
540 | 550 | | |
541 | 551 | | |
| |||
568 | 578 | | |
569 | 579 | | |
570 | 580 | | |
571 | | - | |
| 581 | + | |
572 | 582 | | |
573 | 583 | | |
574 | 584 | | |
| |||
582 | 592 | | |
583 | 593 | | |
584 | 594 | | |
585 | | - | |
| 595 | + | |
586 | 596 | | |
587 | 597 | | |
588 | 598 | | |
| |||
737 | 747 | | |
738 | 748 | | |
739 | 749 | | |
740 | | - | |
| 750 | + | |
741 | 751 | | |
742 | 752 | | |
743 | 753 | | |
| |||
749 | 759 | | |
750 | 760 | | |
751 | 761 | | |
752 | | - | |
| 762 | + | |
753 | 763 | | |
754 | 764 | | |
755 | 765 | | |
| |||
785 | 795 | | |
786 | 796 | | |
787 | 797 | | |
788 | | - | |
| 798 | + | |
789 | 799 | | |
790 | 800 | | |
791 | 801 | | |
| |||
820 | 830 | | |
821 | 831 | | |
822 | 832 | | |
823 | | - | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
824 | 836 | | |
825 | 837 | | |
826 | 838 | | |
| |||
852 | 864 | | |
853 | 865 | | |
854 | 866 | | |
855 | | - | |
| 867 | + | |
856 | 868 | | |
857 | 869 | | |
858 | 870 | | |
| |||
866 | 878 | | |
867 | 879 | | |
868 | 880 | | |
869 | | - | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
870 | 884 | | |
871 | 885 | | |
872 | 886 | | |
| |||
Lines changed: 48 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
384 | 384 | | |
385 | 385 | | |
386 | 386 | | |
387 | | - | |
388 | | - | |
389 | | - | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
390 | 394 | | |
391 | 395 | | |
392 | 396 | | |
| |||
579 | 583 | | |
580 | 584 | | |
581 | 585 | | |
| 586 | + | |
582 | 587 | | |
583 | 588 | | |
584 | 589 | | |
585 | | - | |
586 | | - | |
587 | | - | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
588 | 601 | | |
589 | 602 | | |
590 | 603 | | |
| |||
899 | 912 | | |
900 | 913 | | |
901 | 914 | | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
Lines changed: 118 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
308 | 426 | | |
309 | 427 | | |
310 | 428 | | |
| |||
0 commit comments