Commit 161a3f7
committed
sql/schemachanger: fix index creation failures after pause/resume
Previously, when the index backfiller was tracking completed spans, the
final chunk of a span would cause an update to be emitted that
incorrectly indicated the entire span was complete. While this was not
an issue with a single ingest goroutine, it caused problems with the
introduction of multiple ingest goroutines. As a result, if the job was
paused and resumed after this incorrect progress update, the backfiller
could skip rows, leading to validation errors. To address this, this
patch ensures that progress updates for the final chunk of a span
correctly report only the work completed in that chunk.
Fixes: #153522
Release note (bug fix): Addressed a bug where index creation could fail
due to validation errors if the schema change was retried or
paused/resumed during the backfill.1 parent e4db2dd commit 161a3f7
File tree
4 files changed
+74
-62
lines changed- pkg/sql
- backfill
- rowexec
4 files changed
+74
-62
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1010 | 1010 | | |
1011 | 1011 | | |
1012 | 1012 | | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
1013 | 1016 | | |
1014 | 1017 | | |
1015 | 1018 | | |
1016 | 1019 | | |
1017 | 1020 | | |
1018 | 1021 | | |
1019 | 1022 | | |
1020 | | - | |
| 1023 | + | |
1021 | 1024 | | |
1022 | 1025 | | |
1023 | 1026 | | |
1024 | 1027 | | |
1025 | | - | |
1026 | 1028 | | |
1027 | 1029 | | |
1028 | 1030 | | |
| |||
1031 | 1033 | | |
1032 | 1034 | | |
1033 | 1035 | | |
1034 | | - | |
| 1036 | + | |
1035 | 1037 | | |
1036 | 1038 | | |
1037 | 1039 | | |
| |||
1264 | 1266 | | |
1265 | 1267 | | |
1266 | 1268 | | |
1267 | | - | |
1268 | 1269 | | |
1269 | 1270 | | |
1270 | 1271 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
| |||
582 | 584 | | |
583 | 585 | | |
584 | 586 | | |
585 | | - | |
| 587 | + | |
| 588 | + | |
586 | 589 | | |
587 | 590 | | |
588 | 591 | | |
| |||
611 | 614 | | |
612 | 615 | | |
613 | 616 | | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
614 | 625 | | |
615 | 626 | | |
616 | 627 | | |
617 | 628 | | |
618 | 629 | | |
619 | 630 | | |
620 | 631 | | |
| 632 | + | |
| 633 | + | |
621 | 634 | | |
622 | 635 | | |
623 | 636 | | |
624 | 637 | | |
625 | 638 | | |
626 | 639 | | |
627 | | - | |
| 640 | + | |
| 641 | + | |
628 | 642 | | |
629 | | - | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
630 | 646 | | |
631 | 647 | | |
632 | 648 | | |
| |||
670 | 686 | | |
671 | 687 | | |
672 | 688 | | |
| 689 | + | |
673 | 690 | | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
684 | 703 | | |
685 | 704 | | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
686 | 710 | | |
687 | | - | |
688 | 711 | | |
689 | 712 | | |
690 | 713 | | |
| |||
718 | 741 | | |
719 | 742 | | |
720 | 743 | | |
721 | | - | |
722 | | - | |
723 | | - | |
| 744 | + | |
724 | 745 | | |
725 | | - | |
726 | | - | |
727 | | - | |
728 | | - | |
729 | | - | |
730 | | - | |
731 | | - | |
732 | | - | |
733 | | - | |
734 | | - | |
735 | | - | |
736 | | - | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
737 | 751 | | |
738 | | - | |
739 | | - | |
740 | | - | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
741 | 756 | | |
742 | | - | |
743 | | - | |
744 | | - | |
745 | | - | |
746 | | - | |
747 | | - | |
748 | | - | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
754 | | - | |
755 | | - | |
756 | 757 | | |
757 | 758 | | |
758 | | - | |
759 | 759 | | |
760 | 760 | | |
761 | 761 | | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
762 | 775 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | | - | |
| 165 | + | |
166 | 166 | | |
167 | | - | |
168 | 167 | | |
169 | 168 | | |
170 | 169 | | |
| |||
529 | 528 | | |
530 | 529 | | |
531 | 530 | | |
532 | | - | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
533 | 535 | | |
534 | 536 | | |
535 | | - | |
| 537 | + | |
536 | 538 | | |
537 | 539 | | |
538 | 540 | | |
539 | 541 | | |
540 | 542 | | |
541 | 543 | | |
542 | 544 | | |
543 | | - | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | 545 | | |
548 | 546 | | |
549 | 547 | | |
| |||
582 | 580 | | |
583 | 581 | | |
584 | 582 | | |
585 | | - | |
| 583 | + | |
586 | 584 | | |
587 | 585 | | |
588 | 586 | | |
| |||
598 | 596 | | |
599 | 597 | | |
600 | 598 | | |
601 | | - | |
| 599 | + | |
602 | 600 | | |
603 | 601 | | |
604 | 602 | | |
| |||
0 commit comments