Commit bb2f6ed
committed
kvnemesis: introduce safety and liveness modes
Currently, all kvnemesis test variants test both safety and liveness
properties: safety in the sense of validating serializability, and
liveness in the sense of ensuring availability.
With the introduction of various faults (e.g. network partitions),
kvnemesis tests can continue to operate the same way only if we
carefully craft the fault patterns in order to avoid unavailability.
While this is valuable, it is also important to test for safety testing
in the presense of unavailability.
This commit introduces two new modes of running kvnemesis tests, both of
which still validate serializability:
- Safety mode: all fault patterns are allowed; unavailability errors are
ignored.
- Liveness mode: faults are introduced carefully to ensure a
well-connected quorum is preserved; unavailability errors fail the
test.
Fixes: #114814
Release note: None1 parent 8c93138 commit bb2f6ed
File tree
8 files changed
+346
-60
lines changed- pkg/kv/kvnemesis
8 files changed
+346
-60
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| 99 | + | |
99 | 100 | | |
100 | 101 | | |
| 102 | + | |
101 | 103 | | |
102 | 104 | | |
103 | 105 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
101 | | - | |
| 102 | + | |
| 103 | + | |
102 | 104 | | |
103 | 105 | | |
104 | 106 | | |
| |||
109 | 111 | | |
110 | 112 | | |
111 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
112 | 123 | | |
113 | 124 | | |
114 | 125 | | |
| |||
751 | 762 | | |
752 | 763 | | |
753 | 764 | | |
754 | | - | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
755 | 771 | | |
756 | 772 | | |
757 | 773 | | |
| |||
762 | 778 | | |
763 | 779 | | |
764 | 780 | | |
765 | | - | |
| 781 | + | |
766 | 782 | | |
767 | 783 | | |
768 | 784 | | |
769 | | - | |
770 | | - | |
| 785 | + | |
771 | 786 | | |
772 | 787 | | |
773 | 788 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
645 | 647 | | |
646 | 648 | | |
647 | 649 | | |
648 | | - | |
| 650 | + | |
649 | 651 | | |
650 | 652 | | |
651 | 653 | | |
| |||
676 | 678 | | |
677 | 679 | | |
678 | 680 | | |
679 | | - | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
680 | 684 | | |
681 | 685 | | |
682 | 686 | | |
| |||
693 | 697 | | |
694 | 698 | | |
695 | 699 | | |
696 | | - | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
697 | 705 | | |
698 | 706 | | |
699 | 707 | | |
| |||
708 | 716 | | |
709 | 717 | | |
710 | 718 | | |
| 719 | + | |
711 | 720 | | |
712 | 721 | | |
713 | 722 | | |
| |||
745 | 754 | | |
746 | 755 | | |
747 | 756 | | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
748 | 761 | | |
749 | 762 | | |
750 | 763 | | |
| |||
777 | 790 | | |
778 | 791 | | |
779 | 792 | | |
780 | | - | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
781 | 805 | | |
782 | 806 | | |
783 | 807 | | |
784 | | - | |
785 | | - | |
786 | | - | |
787 | | - | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
788 | 816 | | |
789 | 817 | | |
790 | | - | |
791 | | - | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
792 | 822 | | |
793 | 823 | | |
794 | 824 | | |
795 | 825 | | |
796 | 826 | | |
797 | 827 | | |
798 | | - | |
799 | | - | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
800 | 832 | | |
801 | 833 | | |
802 | 834 | | |
| |||
810 | 842 | | |
811 | 843 | | |
812 | 844 | | |
813 | | - | |
814 | | - | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
815 | 849 | | |
816 | 850 | | |
817 | 851 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| |||
66 | 68 | | |
67 | 69 | | |
68 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
69 | 90 | | |
70 | 91 | | |
71 | 92 | | |
| |||
75 | 96 | | |
76 | 97 | | |
77 | 98 | | |
| 99 | + | |
78 | 100 | | |
79 | 101 | | |
80 | 102 | | |
| |||
86 | 108 | | |
87 | 109 | | |
88 | 110 | | |
89 | | - | |
| 111 | + | |
90 | 112 | | |
91 | 113 | | |
92 | 114 | | |
93 | | - | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
94 | 122 | | |
95 | 123 | | |
96 | 124 | | |
| |||
117 | 145 | | |
118 | 146 | | |
119 | 147 | | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
140 | 166 | | |
141 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
142 | 177 | | |
143 | 178 | | |
144 | 179 | | |
| |||
162 | 197 | | |
163 | 198 | | |
164 | 199 | | |
165 | | - | |
166 | 200 | | |
167 | 201 | | |
168 | 202 | | |
169 | 203 | | |
170 | | - | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
171 | 210 | | |
172 | 211 | | |
173 | 212 | | |
| |||
0 commit comments