1# This test creates a complete Raft log configuration and demonstrates how a
2# leader probes and replicates to each of its followers. The log configuration
3# constructed is almost[*] identical to the one present in Figure 7 of the raft
4# paper (https://raft.github.io/raft.pdf), which looks like:
5#
6# 1 2 3 4 5 6 7 8 9 10 11 12
7# n1: [1][1][1][4][4][5][5][6][6][6]
8# n2: [1][1][1][4][4][5][5][6][6]
9# n3: [1][1][1][4]
10# n4: [1][1][1][4][4][5][5][6][6][6][6]
11# n5: [1][1][1][4][4][5][5][6][7][7][7][7]
12# n6: [1][1][1][4][4][4][4]
13# n7: [1][1][1][2][2][2][3][3][3][3][3]
14#
15# Once in this state, we then elect node 1 as the leader and stabilize the
16# entire raft group. This demonstrates how a newly elected leader probes for
17# matching indexes, overwrites conflicting entries, and catches up all
18# followers.
19#
20# [*] the only differences are:
21# 1. n5 is given a larger uncommitted log tail, which is used to demonstrate a
22# follower-side probing optimization.
23# 2. the log indexes are shifted by 10 in this test because add-nodes wants to
24# start with an index > 1.
25#
26
27
28# Set up the log configuration. This is mostly unintersting, but the order of
29# each leadership change and the nodes that are allowed to hear about them is
30# very important. Most readers of this test can skip this section.
31log-level none
32----
33ok
34
35## Start with seven nodes.
36add-nodes 7 voters=(1,2,3,4,5,6,7) index=10
37----
38ok
39
40## Create term 1 entries.
41campaign 1
42----
43ok
44
45stabilize
46----
47ok (quiet)
48
49propose 1 prop_1_12
50----
51ok
52
53propose 1 prop_1_13
54----
55ok
56
57stabilize
58----
59ok (quiet)
60
61## Create term 2 entries.
62campaign 2
63----
64ok
65
66stabilize 2
67----
68ok (quiet)
69
70stabilize 6
71----
72ok (quiet)
73
74stabilize 2 5 7
75----
76ok (quiet)
77
78propose 2 prop_2_15
79----
80ok
81
82propose 2 prop_2_16
83----
84ok
85
86stabilize 2 7
87----
88ok (quiet)
89
90deliver-msgs drop=(1,2,3,4,5,6,7)
91----
92ok (quiet)
93
94## Create term 3 entries.
95campaign 7
96----
97ok
98
99stabilize 7
100----
101ok (quiet)
102
103stabilize 1 2 3 4 5 6
104----
105ok (quiet)
106
107stabilize 7
108----
109ok (quiet)
110
111propose 7 prop_3_18
112----
113ok
114
115propose 7 prop_3_19
116----
117ok
118
119propose 7 prop_3_20
120----
121ok
122
123propose 7 prop_3_21
124----
125ok
126
127stabilize 7
128----
129ok (quiet)
130
131deliver-msgs drop=(1,2,3,4,5,6,7)
132----
133ok (quiet)
134
135## Create term 4 entries.
136campaign 6
137----
138ok
139
140stabilize 1 2 3 4 5 6
141----
142ok (quiet)
143
144propose 6 prop_4_15
145----
146ok
147
148stabilize 1 2 4 5 6
149----
150ok (quiet)
151
152propose 6 prop_4_16
153----
154ok
155
156propose 6 prop_4_17
157----
158ok
159
160stabilize 6
161----
162ok (quiet)
163
164deliver-msgs drop=(1,2,3,4,5,6,7)
165----
166ok (quiet)
167
168## Create term 5 entries.
169campaign 5
170----
171ok
172
173stabilize 1 2 4 5
174----
175ok (quiet)
176
177propose 5 prop_5_17
178----
179ok
180
181stabilize 1 2 4 5
182----
183ok (quiet)
184
185deliver-msgs drop=(1,2,3,4,5,6,7)
186----
187ok (quiet)
188
189## Create term 6 entries.
190campaign 4
191----
192ok
193
194stabilize 1 2 4 5
195----
196ok (quiet)
197
198propose 4 prop_6_19
199----
200ok
201
202stabilize 1 2 4
203----
204ok (quiet)
205
206propose 4 prop_6_20
207----
208ok
209
210stabilize 1 4
211----
212ok (quiet)
213
214propose 4 prop_6_21
215----
216ok
217
218stabilize 4
219----
220ok (quiet)
221
222deliver-msgs drop=(1,2,3,4,5,6,7)
223----
224ok (quiet)
225
226## Create term 7 entries.
227campaign 5
228----
229ok
230
231stabilize 5
232----
233ok (quiet)
234
235stabilize 1 3 6 7
236----
237ok (quiet)
238
239stabilize 5
240----
241ok (quiet)
242
243propose 5 prop_7_20
244----
245ok
246
247propose 5 prop_7_21
248----
249ok
250
251propose 5 prop_7_22
252----
253ok
254
255stabilize 5
256----
257ok (quiet)
258
259deliver-msgs drop=(1,2,3,4,5,6,7)
260----
261ok (quiet)
262
263
264# Show the Raft log from each node.
265log-level info
266----
267ok
268
269raft-log 1
270----
2711/11 EntryNormal ""
2721/12 EntryNormal "prop_1_12"
2731/13 EntryNormal "prop_1_13"
2744/14 EntryNormal ""
2754/15 EntryNormal "prop_4_15"
2765/16 EntryNormal ""
2775/17 EntryNormal "prop_5_17"
2786/18 EntryNormal ""
2796/19 EntryNormal "prop_6_19"
2806/20 EntryNormal "prop_6_20"
281
282raft-log 2
283----
2841/11 EntryNormal ""
2851/12 EntryNormal "prop_1_12"
2861/13 EntryNormal "prop_1_13"
2874/14 EntryNormal ""
2884/15 EntryNormal "prop_4_15"
2895/16 EntryNormal ""
2905/17 EntryNormal "prop_5_17"
2916/18 EntryNormal ""
2926/19 EntryNormal "prop_6_19"
293
294raft-log 3
295----
2961/11 EntryNormal ""
2971/12 EntryNormal "prop_1_12"
2981/13 EntryNormal "prop_1_13"
2994/14 EntryNormal ""
300
301raft-log 4
302----
3031/11 EntryNormal ""
3041/12 EntryNormal "prop_1_12"
3051/13 EntryNormal "prop_1_13"
3064/14 EntryNormal ""
3074/15 EntryNormal "prop_4_15"
3085/16 EntryNormal ""
3095/17 EntryNormal "prop_5_17"
3106/18 EntryNormal ""
3116/19 EntryNormal "prop_6_19"
3126/20 EntryNormal "prop_6_20"
3136/21 EntryNormal "prop_6_21"
314
315raft-log 5
316----
3171/11 EntryNormal ""
3181/12 EntryNormal "prop_1_12"
3191/13 EntryNormal "prop_1_13"
3204/14 EntryNormal ""
3214/15 EntryNormal "prop_4_15"
3225/16 EntryNormal ""
3235/17 EntryNormal "prop_5_17"
3246/18 EntryNormal ""
3257/19 EntryNormal ""
3267/20 EntryNormal "prop_7_20"
3277/21 EntryNormal "prop_7_21"
3287/22 EntryNormal "prop_7_22"
329
330raft-log 6
331----
3321/11 EntryNormal ""
3331/12 EntryNormal "prop_1_12"
3341/13 EntryNormal "prop_1_13"
3354/14 EntryNormal ""
3364/15 EntryNormal "prop_4_15"
3374/16 EntryNormal "prop_4_16"
3384/17 EntryNormal "prop_4_17"
339
340raft-log 7
341----
3421/11 EntryNormal ""
3431/12 EntryNormal "prop_1_12"
3441/13 EntryNormal "prop_1_13"
3452/14 EntryNormal ""
3462/15 EntryNormal "prop_2_15"
3472/16 EntryNormal "prop_2_16"
3483/17 EntryNormal ""
3493/18 EntryNormal "prop_3_18"
3503/19 EntryNormal "prop_3_19"
3513/20 EntryNormal "prop_3_20"
3523/21 EntryNormal "prop_3_21"
353
354
355# Elect node 1 as leader and stabilize.
356campaign 1
357----
358INFO 1 is starting a new election at term 7
359INFO 1 became candidate at term 8
360INFO 1 received MsgVoteResp from 1 at term 8
361INFO 1 [logterm: 6, index: 20] sent MsgVote request to 2 at term 8
362INFO 1 [logterm: 6, index: 20] sent MsgVote request to 3 at term 8
363INFO 1 [logterm: 6, index: 20] sent MsgVote request to 4 at term 8
364INFO 1 [logterm: 6, index: 20] sent MsgVote request to 5 at term 8
365INFO 1 [logterm: 6, index: 20] sent MsgVote request to 6 at term 8
366INFO 1 [logterm: 6, index: 20] sent MsgVote request to 7 at term 8
367
368## Get elected.
369stabilize 1
370----
371> 1 handling Ready
372 Ready MustSync=true:
373 Lead:0 State:StateCandidate
374 HardState Term:8 Vote:1 Commit:18
375 Messages:
376 1->2 MsgVote Term:8 Log:6/20
377 1->3 MsgVote Term:8 Log:6/20
378 1->4 MsgVote Term:8 Log:6/20
379 1->5 MsgVote Term:8 Log:6/20
380 1->6 MsgVote Term:8 Log:6/20
381 1->7 MsgVote Term:8 Log:6/20
382
383stabilize 2 3 4 5 6 7
384----
385> 2 receiving messages
386 1->2 MsgVote Term:8 Log:6/20
387 INFO 2 [term: 6] received a MsgVote message with higher term from 1 [term: 8]
388 INFO 2 became follower at term 8
389 INFO 2 [logterm: 6, index: 19, vote: 0] cast MsgVote for 1 [logterm: 6, index: 20] at term 8
390> 3 receiving messages
391 1->3 MsgVote Term:8 Log:6/20
392 INFO 3 [term: 7] received a MsgVote message with higher term from 1 [term: 8]
393 INFO 3 became follower at term 8
394 INFO 3 [logterm: 4, index: 14, vote: 0] cast MsgVote for 1 [logterm: 6, index: 20] at term 8
395> 4 receiving messages
396 1->4 MsgVote Term:8 Log:6/20
397 INFO 4 [term: 6] received a MsgVote message with higher term from 1 [term: 8]
398 INFO 4 became follower at term 8
399 INFO 4 [logterm: 6, index: 21, vote: 0] rejected MsgVote from 1 [logterm: 6, index: 20] at term 8
400> 5 receiving messages
401 1->5 MsgVote Term:8 Log:6/20
402 INFO 5 [term: 7] received a MsgVote message with higher term from 1 [term: 8]
403 INFO 5 became follower at term 8
404 INFO 5 [logterm: 7, index: 22, vote: 0] rejected MsgVote from 1 [logterm: 6, index: 20] at term 8
405> 6 receiving messages
406 1->6 MsgVote Term:8 Log:6/20
407 INFO 6 [term: 7] received a MsgVote message with higher term from 1 [term: 8]
408 INFO 6 became follower at term 8
409 INFO 6 [logterm: 4, index: 17, vote: 0] cast MsgVote for 1 [logterm: 6, index: 20] at term 8
410> 7 receiving messages
411 1->7 MsgVote Term:8 Log:6/20
412 INFO 7 [term: 7] received a MsgVote message with higher term from 1 [term: 8]
413 INFO 7 became follower at term 8
414 INFO 7 [logterm: 3, index: 21, vote: 0] cast MsgVote for 1 [logterm: 6, index: 20] at term 8
415> 2 handling Ready
416 Ready MustSync=true:
417 Lead:0 State:StateFollower
418 HardState Term:8 Vote:1 Commit:18
419 Messages:
420 2->1 MsgVoteResp Term:8 Log:0/0
421> 3 handling Ready
422 Ready MustSync=true:
423 HardState Term:8 Vote:1 Commit:14
424 Messages:
425 3->1 MsgVoteResp Term:8 Log:0/0
426> 4 handling Ready
427 Ready MustSync=true:
428 Lead:0 State:StateFollower
429 HardState Term:8 Commit:18
430 Messages:
431 4->1 MsgVoteResp Term:8 Log:0/0 Rejected (Hint: 0)
432> 5 handling Ready
433 Ready MustSync=true:
434 Lead:0 State:StateFollower
435 HardState Term:8 Commit:18
436 Messages:
437 5->1 MsgVoteResp Term:8 Log:0/0 Rejected (Hint: 0)
438> 6 handling Ready
439 Ready MustSync=true:
440 HardState Term:8 Vote:1 Commit:15
441 Messages:
442 6->1 MsgVoteResp Term:8 Log:0/0
443> 7 handling Ready
444 Ready MustSync=true:
445 HardState Term:8 Vote:1 Commit:13
446 Messages:
447 7->1 MsgVoteResp Term:8 Log:0/0
448
449stabilize 1
450----
451> 1 receiving messages
452 2->1 MsgVoteResp Term:8 Log:0/0
453 INFO 1 received MsgVoteResp from 2 at term 8
454 INFO 1 has received 2 MsgVoteResp votes and 0 vote rejections
455 3->1 MsgVoteResp Term:8 Log:0/0
456 INFO 1 received MsgVoteResp from 3 at term 8
457 INFO 1 has received 3 MsgVoteResp votes and 0 vote rejections
458 4->1 MsgVoteResp Term:8 Log:0/0 Rejected (Hint: 0)
459 INFO 1 received MsgVoteResp rejection from 4 at term 8
460 INFO 1 has received 3 MsgVoteResp votes and 1 vote rejections
461 5->1 MsgVoteResp Term:8 Log:0/0 Rejected (Hint: 0)
462 INFO 1 received MsgVoteResp rejection from 5 at term 8
463 INFO 1 has received 3 MsgVoteResp votes and 2 vote rejections
464 6->1 MsgVoteResp Term:8 Log:0/0
465 INFO 1 received MsgVoteResp from 6 at term 8
466 INFO 1 has received 4 MsgVoteResp votes and 2 vote rejections
467 INFO 1 became leader at term 8
468 7->1 MsgVoteResp Term:8 Log:0/0
469> 1 handling Ready
470 Ready MustSync=true:
471 Lead:1 State:StateLeader
472 Entries:
473 8/21 EntryNormal ""
474 Messages:
475 1->2 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
476 1->3 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
477 1->4 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
478 1->5 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
479 1->6 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
480 1->7 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
481
482## Recover each follower, one by one.
483stabilize 1 2
484----
485> 2 receiving messages
486 1->2 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
487> 2 handling Ready
488 Ready MustSync=false:
489 Lead:1 State:StateFollower
490 Messages:
491 2->1 MsgAppResp Term:8 Log:6/20 Rejected (Hint: 19)
492> 1 receiving messages
493 2->1 MsgAppResp Term:8 Log:6/20 Rejected (Hint: 19)
494> 1 handling Ready
495 Ready MustSync=false:
496 Messages:
497 1->2 MsgApp Term:8 Log:6/19 Commit:18 Entries:[6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
498> 2 receiving messages
499 1->2 MsgApp Term:8 Log:6/19 Commit:18 Entries:[6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
500> 2 handling Ready
501 Ready MustSync=true:
502 Entries:
503 6/20 EntryNormal "prop_6_20"
504 8/21 EntryNormal ""
505 Messages:
506 2->1 MsgAppResp Term:8 Log:0/21
507> 1 receiving messages
508 2->1 MsgAppResp Term:8 Log:0/21
509> 1 handling Ready
510 Ready MustSync=false:
511 Messages:
512 1->2 MsgApp Term:8 Log:8/21 Commit:18
513> 2 receiving messages
514 1->2 MsgApp Term:8 Log:8/21 Commit:18
515> 2 handling Ready
516 Ready MustSync=false:
517 Messages:
518 2->1 MsgAppResp Term:8 Log:0/21
519> 1 receiving messages
520 2->1 MsgAppResp Term:8 Log:0/21
521
522stabilize 1 3
523----
524> 3 receiving messages
525 1->3 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
526> 3 handling Ready
527 Ready MustSync=false:
528 Lead:1 State:StateFollower
529 Messages:
530 3->1 MsgAppResp Term:8 Log:4/20 Rejected (Hint: 14)
531> 1 receiving messages
532 3->1 MsgAppResp Term:8 Log:4/20 Rejected (Hint: 14)
533> 1 handling Ready
534 Ready MustSync=false:
535 Messages:
536 1->3 MsgApp Term:8 Log:4/14 Commit:18 Entries:[4/15 EntryNormal "prop_4_15", 5/16 EntryNormal "", 5/17 EntryNormal "prop_5_17", 6/18 EntryNormal "", 6/19 EntryNormal "prop_6_19", 6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
537> 3 receiving messages
538 1->3 MsgApp Term:8 Log:4/14 Commit:18 Entries:[4/15 EntryNormal "prop_4_15", 5/16 EntryNormal "", 5/17 EntryNormal "prop_5_17", 6/18 EntryNormal "", 6/19 EntryNormal "prop_6_19", 6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
539> 3 handling Ready
540 Ready MustSync=true:
541 HardState Term:8 Vote:1 Commit:18
542 Entries:
543 4/15 EntryNormal "prop_4_15"
544 5/16 EntryNormal ""
545 5/17 EntryNormal "prop_5_17"
546 6/18 EntryNormal ""
547 6/19 EntryNormal "prop_6_19"
548 6/20 EntryNormal "prop_6_20"
549 8/21 EntryNormal ""
550 CommittedEntries:
551 4/15 EntryNormal "prop_4_15"
552 5/16 EntryNormal ""
553 5/17 EntryNormal "prop_5_17"
554 6/18 EntryNormal ""
555 Messages:
556 3->1 MsgAppResp Term:8 Log:0/21
557> 1 receiving messages
558 3->1 MsgAppResp Term:8 Log:0/21
559> 1 handling Ready
560 Ready MustSync=false:
561 Messages:
562 1->3 MsgApp Term:8 Log:8/21 Commit:18
563> 3 receiving messages
564 1->3 MsgApp Term:8 Log:8/21 Commit:18
565> 3 handling Ready
566 Ready MustSync=false:
567 Messages:
568 3->1 MsgAppResp Term:8 Log:0/21
569> 1 receiving messages
570 3->1 MsgAppResp Term:8 Log:0/21
571
572stabilize 1 4
573----
574> 4 receiving messages
575 1->4 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
576 INFO found conflict at index 21 [existing term: 6, conflicting term: 8]
577 INFO replace the unstable entries from index 21
578> 4 handling Ready
579 Ready MustSync=true:
580 Lead:1 State:StateFollower
581 Entries:
582 8/21 EntryNormal ""
583 Messages:
584 4->1 MsgAppResp Term:8 Log:0/21
585> 1 receiving messages
586 4->1 MsgAppResp Term:8 Log:0/21
587> 1 handling Ready
588 Ready MustSync=false:
589 HardState Term:8 Vote:1 Commit:21
590 CommittedEntries:
591 6/19 EntryNormal "prop_6_19"
592 6/20 EntryNormal "prop_6_20"
593 8/21 EntryNormal ""
594 Messages:
595 1->2 MsgApp Term:8 Log:8/21 Commit:21
596 1->3 MsgApp Term:8 Log:8/21 Commit:21
597 1->4 MsgApp Term:8 Log:8/21 Commit:21
598> 4 receiving messages
599 1->4 MsgApp Term:8 Log:8/21 Commit:21
600> 4 handling Ready
601 Ready MustSync=false:
602 HardState Term:8 Commit:21
603 CommittedEntries:
604 6/19 EntryNormal "prop_6_19"
605 6/20 EntryNormal "prop_6_20"
606 8/21 EntryNormal ""
607 Messages:
608 4->1 MsgAppResp Term:8 Log:0/21
609> 1 receiving messages
610 4->1 MsgAppResp Term:8 Log:0/21
611
612stabilize 1 5
613----
614> 5 receiving messages
615 1->5 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
616> 5 handling Ready
617 Ready MustSync=false:
618 Lead:1 State:StateFollower
619 Messages:
620 5->1 MsgAppResp Term:8 Log:6/20 Rejected (Hint: 18)
621> 1 receiving messages
622 5->1 MsgAppResp Term:8 Log:6/20 Rejected (Hint: 18)
623> 1 handling Ready
624 Ready MustSync=false:
625 Messages:
626 1->5 MsgApp Term:8 Log:6/18 Commit:21 Entries:[6/19 EntryNormal "prop_6_19", 6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
627> 5 receiving messages
628 1->5 MsgApp Term:8 Log:6/18 Commit:21 Entries:[6/19 EntryNormal "prop_6_19", 6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
629 INFO found conflict at index 19 [existing term: 7, conflicting term: 6]
630 INFO replace the unstable entries from index 19
631> 5 handling Ready
632 Ready MustSync=true:
633 HardState Term:8 Commit:21
634 Entries:
635 6/19 EntryNormal "prop_6_19"
636 6/20 EntryNormal "prop_6_20"
637 8/21 EntryNormal ""
638 CommittedEntries:
639 6/19 EntryNormal "prop_6_19"
640 6/20 EntryNormal "prop_6_20"
641 8/21 EntryNormal ""
642 Messages:
643 5->1 MsgAppResp Term:8 Log:0/21
644> 1 receiving messages
645 5->1 MsgAppResp Term:8 Log:0/21
646> 1 handling Ready
647 Ready MustSync=false:
648 Messages:
649 1->5 MsgApp Term:8 Log:8/21 Commit:21
650> 5 receiving messages
651 1->5 MsgApp Term:8 Log:8/21 Commit:21
652> 5 handling Ready
653 Ready MustSync=false:
654 Messages:
655 5->1 MsgAppResp Term:8 Log:0/21
656> 1 receiving messages
657 5->1 MsgAppResp Term:8 Log:0/21
658
659stabilize 1 6
660----
661> 6 receiving messages
662 1->6 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
663> 6 handling Ready
664 Ready MustSync=false:
665 Lead:1 State:StateFollower
666 Messages:
667 6->1 MsgAppResp Term:8 Log:4/20 Rejected (Hint: 17)
668> 1 receiving messages
669 6->1 MsgAppResp Term:8 Log:4/20 Rejected (Hint: 17)
670> 1 handling Ready
671 Ready MustSync=false:
672 Messages:
673 1->6 MsgApp Term:8 Log:4/15 Commit:21 Entries:[5/16 EntryNormal "", 5/17 EntryNormal "prop_5_17", 6/18 EntryNormal "", 6/19 EntryNormal "prop_6_19", 6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
674> 6 receiving messages
675 1->6 MsgApp Term:8 Log:4/15 Commit:21 Entries:[5/16 EntryNormal "", 5/17 EntryNormal "prop_5_17", 6/18 EntryNormal "", 6/19 EntryNormal "prop_6_19", 6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
676 INFO found conflict at index 16 [existing term: 4, conflicting term: 5]
677 INFO replace the unstable entries from index 16
678> 6 handling Ready
679 Ready MustSync=true:
680 HardState Term:8 Vote:1 Commit:21
681 Entries:
682 5/16 EntryNormal ""
683 5/17 EntryNormal "prop_5_17"
684 6/18 EntryNormal ""
685 6/19 EntryNormal "prop_6_19"
686 6/20 EntryNormal "prop_6_20"
687 8/21 EntryNormal ""
688 CommittedEntries:
689 5/16 EntryNormal ""
690 5/17 EntryNormal "prop_5_17"
691 6/18 EntryNormal ""
692 6/19 EntryNormal "prop_6_19"
693 6/20 EntryNormal "prop_6_20"
694 8/21 EntryNormal ""
695 Messages:
696 6->1 MsgAppResp Term:8 Log:0/21
697> 1 receiving messages
698 6->1 MsgAppResp Term:8 Log:0/21
699> 1 handling Ready
700 Ready MustSync=false:
701 Messages:
702 1->6 MsgApp Term:8 Log:8/21 Commit:21
703> 6 receiving messages
704 1->6 MsgApp Term:8 Log:8/21 Commit:21
705> 6 handling Ready
706 Ready MustSync=false:
707 Messages:
708 6->1 MsgAppResp Term:8 Log:0/21
709> 1 receiving messages
710 6->1 MsgAppResp Term:8 Log:0/21
711
712stabilize 1 7
713----
714> 7 receiving messages
715 1->7 MsgApp Term:8 Log:6/20 Commit:18 Entries:[8/21 EntryNormal ""]
716> 7 handling Ready
717 Ready MustSync=false:
718 Lead:1 State:StateFollower
719 Messages:
720 7->1 MsgAppResp Term:8 Log:3/20 Rejected (Hint: 20)
721> 1 receiving messages
722 7->1 MsgAppResp Term:8 Log:3/20 Rejected (Hint: 20)
723> 1 handling Ready
724 Ready MustSync=false:
725 Messages:
726 1->7 MsgApp Term:8 Log:1/13 Commit:21 Entries:[4/14 EntryNormal "", 4/15 EntryNormal "prop_4_15", 5/16 EntryNormal "", 5/17 EntryNormal "prop_5_17", 6/18 EntryNormal "", 6/19 EntryNormal "prop_6_19", 6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
727> 7 receiving messages
728 1->7 MsgApp Term:8 Log:1/13 Commit:21 Entries:[4/14 EntryNormal "", 4/15 EntryNormal "prop_4_15", 5/16 EntryNormal "", 5/17 EntryNormal "prop_5_17", 6/18 EntryNormal "", 6/19 EntryNormal "prop_6_19", 6/20 EntryNormal "prop_6_20", 8/21 EntryNormal ""]
729 INFO found conflict at index 14 [existing term: 2, conflicting term: 4]
730 INFO replace the unstable entries from index 14
731> 7 handling Ready
732 Ready MustSync=true:
733 HardState Term:8 Vote:1 Commit:21
734 Entries:
735 4/14 EntryNormal ""
736 4/15 EntryNormal "prop_4_15"
737 5/16 EntryNormal ""
738 5/17 EntryNormal "prop_5_17"
739 6/18 EntryNormal ""
740 6/19 EntryNormal "prop_6_19"
741 6/20 EntryNormal "prop_6_20"
742 8/21 EntryNormal ""
743 CommittedEntries:
744 4/14 EntryNormal ""
745 4/15 EntryNormal "prop_4_15"
746 5/16 EntryNormal ""
747 5/17 EntryNormal "prop_5_17"
748 6/18 EntryNormal ""
749 6/19 EntryNormal "prop_6_19"
750 6/20 EntryNormal "prop_6_20"
751 8/21 EntryNormal ""
752 Messages:
753 7->1 MsgAppResp Term:8 Log:0/21
754> 1 receiving messages
755 7->1 MsgAppResp Term:8 Log:0/21
756> 1 handling Ready
757 Ready MustSync=false:
758 Messages:
759 1->7 MsgApp Term:8 Log:8/21 Commit:21
760> 7 receiving messages
761 1->7 MsgApp Term:8 Log:8/21 Commit:21
762> 7 handling Ready
763 Ready MustSync=false:
764 Messages:
765 7->1 MsgAppResp Term:8 Log:0/21
766> 1 receiving messages
767 7->1 MsgAppResp Term:8 Log:0/21
View as plain text