Commit 9264f2d
committed
ZOOKEEPER-4883: Rollover leader epoch when zxid counter is exhausted
The rollover procedure:
1. Treats last proposal of an epoch as rollover proposal.
2. Requests from next epoch are proposed normally.
3. Fences next epoch once rollover proposal persisted.
4. Proposals from next epoch will not be written to disk before rollover
committed.
5. Leader commits rollover proposal once it get quorum ACKs.
6. Blocked new epoch proposals are logged once rollover proposal is
committed in corresponding nodes.
This results in:
1. No other leader cloud lead using next epoch number once rollover
proposal is considered committed.
2. No proposals from next epoch will be written to disk before rollover
proposal is considered committed.
Refs: ZOOKEEPER-1277, ZOOKEEPER-2789, ZOOKEEPER-4870, ZOOKEEPER-4882,
ZOOKEEPER-4570 and ZOOKEEPER-45711 parent 3d6c0d1 commit 9264f2d
File tree
20 files changed
+1270
-123
lines changed- zookeeper-server/src
- main/java/org/apache/zookeeper/server
- quorum
- util
- test/java/org/apache/zookeeper
- server
- quorum
- test
20 files changed
+1270
-123
lines changedLines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
377 | 378 | | |
378 | 379 | | |
379 | 380 | | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
380 | 385 | | |
381 | 386 | | |
382 | 387 | | |
| |||
Lines changed: 19 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
32 | 35 | | |
33 | 36 | | |
34 | 37 | | |
| |||
205 | 208 | | |
206 | 209 | | |
207 | 210 | | |
208 | | - | |
| 211 | + | |
209 | 212 | | |
210 | 213 | | |
211 | 214 | | |
212 | 215 | | |
213 | 216 | | |
214 | 217 | | |
215 | 218 | | |
216 | | - | |
| 219 | + | |
217 | 220 | | |
218 | 221 | | |
219 | 222 | | |
| |||
224 | 227 | | |
225 | 228 | | |
226 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
227 | 243 | | |
228 | 244 | | |
229 | 245 | | |
| |||
242 | 258 | | |
243 | 259 | | |
244 | 260 | | |
245 | | - | |
| 261 | + | |
246 | 262 | | |
247 | 263 | | |
248 | 264 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| |||
Lines changed: 13 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
50 | 54 | | |
51 | 55 | | |
52 | 56 | | |
53 | 57 | | |
54 | 58 | | |
55 | 59 | | |
56 | 60 | | |
57 | | - | |
| 61 | + | |
| 62 | + | |
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
| |||
72 | 77 | | |
73 | 78 | | |
74 | 79 | | |
| 80 | + | |
75 | 81 | | |
76 | 82 | | |
77 | 83 | | |
78 | 84 | | |
79 | 85 | | |
80 | | - | |
81 | | - | |
82 | | - | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
83 | 91 | | |
84 | 92 | | |
85 | 93 | | |
| |||
110 | 118 | | |
111 | 119 | | |
112 | 120 | | |
| 121 | + | |
113 | 122 | | |
114 | 123 | | |
115 | 124 | | |
| |||
Lines changed: 31 additions & 37 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1025 | 1025 | | |
1026 | 1026 | | |
1027 | 1027 | | |
1028 | | - | |
| 1028 | + | |
1029 | 1029 | | |
1030 | 1030 | | |
1031 | 1031 | | |
1032 | | - | |
| 1032 | + | |
1033 | 1033 | | |
1034 | 1034 | | |
1035 | | - | |
1036 | 1035 | | |
1037 | 1036 | | |
1038 | 1037 | | |
| |||
1065 | 1064 | | |
1066 | 1065 | | |
1067 | 1066 | | |
1068 | | - | |
1069 | | - | |
1070 | | - | |
1071 | | - | |
1072 | | - | |
1073 | | - | |
1074 | | - | |
1075 | | - | |
1076 | | - | |
1077 | | - | |
| 1067 | + | |
1078 | 1068 | | |
1079 | 1069 | | |
1080 | 1070 | | |
| |||
1212 | 1202 | | |
1213 | 1203 | | |
1214 | 1204 | | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
| 1205 | + | |
1218 | 1206 | | |
1219 | | - | |
| 1207 | + | |
| 1208 | + | |
1220 | 1209 | | |
1221 | 1210 | | |
1222 | 1211 | | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
1223 | 1215 | | |
1224 | 1216 | | |
1225 | 1217 | | |
1226 | 1218 | | |
1227 | 1219 | | |
1228 | 1220 | | |
1229 | | - | |
| 1221 | + | |
| 1222 | + | |
1230 | 1223 | | |
1231 | 1224 | | |
1232 | 1225 | | |
1233 | 1226 | | |
| 1227 | + | |
| 1228 | + | |
1234 | 1229 | | |
1235 | 1230 | | |
1236 | 1231 | | |
| |||
1277 | 1272 | | |
1278 | 1273 | | |
1279 | 1274 | | |
1280 | | - | |
1281 | | - | |
1282 | | - | |
1283 | | - | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
1287 | | - | |
1288 | | - | |
1289 | 1275 | | |
1290 | 1276 | | |
1291 | 1277 | | |
1292 | 1278 | | |
1293 | 1279 | | |
1294 | 1280 | | |
1295 | | - | |
| 1281 | + | |
1296 | 1282 | | |
1297 | 1283 | | |
1298 | 1284 | | |
1299 | 1285 | | |
1300 | | - | |
1301 | | - | |
1302 | | - | |
1303 | | - | |
1304 | | - | |
1305 | | - | |
1306 | | - | |
1307 | | - | |
1308 | | - | |
1309 | 1286 | | |
1310 | 1287 | | |
1311 | 1288 | | |
| |||
1331 | 1308 | | |
1332 | 1309 | | |
1333 | 1310 | | |
| 1311 | + | |
1334 | 1312 | | |
1335 | 1313 | | |
1336 | 1314 | | |
| |||
1465 | 1443 | | |
1466 | 1444 | | |
1467 | 1445 | | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
1468 | 1462 | | |
1469 | 1463 | | |
1470 | 1464 | | |
| |||
Lines changed: 27 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
| 39 | + | |
| 40 | + | |
38 | 41 | | |
39 | 42 | | |
40 | 43 | | |
| |||
44 | 47 | | |
45 | 48 | | |
46 | 49 | | |
| 50 | + | |
47 | 51 | | |
48 | 52 | | |
49 | 53 | | |
50 | 54 | | |
51 | 55 | | |
52 | 56 | | |
53 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
54 | 62 | | |
55 | 63 | | |
56 | 64 | | |
| |||
68 | 76 | | |
69 | 77 | | |
70 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
71 | 82 | | |
72 | | - | |
73 | 83 | | |
74 | 84 | | |
75 | 85 | | |
| |||
159 | 169 | | |
160 | 170 | | |
161 | 171 | | |
| 172 | + | |
162 | 173 | | |
163 | 174 | | |
164 | 175 | | |
| |||
169 | 180 | | |
170 | 181 | | |
171 | 182 | | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
172 | 198 | | |
173 | 199 | | |
174 | 200 | | |
| |||
Lines changed: 15 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
825 | 825 | | |
826 | 826 | | |
827 | 827 | | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
828 | 843 | | |
829 | 844 | | |
830 | 845 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
587 | 587 | | |
588 | 588 | | |
589 | 589 | | |
| 590 | + | |
| 591 | + | |
590 | 592 | | |
591 | 593 | | |
592 | 594 | | |
| |||
0 commit comments