mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
raft: fix raft test
This commit is contained in:
parent
8bbbaa88b2
commit
1eb1020717
12
raft/raft.go
12
raft/raft.go
@ -93,12 +93,12 @@ func (pr *progress) String() string {
|
|||||||
return fmt.Sprintf("n=%d m=%d", pr.next, pr.match)
|
return fmt.Sprintf("n=%d m=%d", pr.next, pr.match)
|
||||||
}
|
}
|
||||||
|
|
||||||
// int64Slice implements sort interface
|
// uint64Slice implements sort interface
|
||||||
type int64Slice []uint64
|
type uint64Slice []uint64
|
||||||
|
|
||||||
func (p int64Slice) Len() int { return len(p) }
|
func (p uint64Slice) Len() int { return len(p) }
|
||||||
func (p int64Slice) Less(i, j int) bool { return p[i] < p[j] }
|
func (p uint64Slice) Less(i, j int) bool { return p[i] < p[j] }
|
||||||
func (p int64Slice) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
|
func (p uint64Slice) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
|
||||||
|
|
||||||
type raft struct {
|
type raft struct {
|
||||||
pb.HardState
|
pb.HardState
|
||||||
@ -247,7 +247,7 @@ func (r *raft) bcastHeartbeat() {
|
|||||||
|
|
||||||
func (r *raft) maybeCommit() bool {
|
func (r *raft) maybeCommit() bool {
|
||||||
// TODO(bmizerany): optimize.. Currently naive
|
// TODO(bmizerany): optimize.. Currently naive
|
||||||
mis := make(int64Slice, 0, len(r.prs))
|
mis := make(uint64Slice, 0, len(r.prs))
|
||||||
for i := range r.prs {
|
for i := range r.prs {
|
||||||
mis = append(mis, r.prs[i].match)
|
mis = append(mis, r.prs[i].match)
|
||||||
}
|
}
|
||||||
|
@ -417,9 +417,9 @@ func TestCompact(t *testing.T) {
|
|||||||
snapd []byte
|
snapd []byte
|
||||||
wpanic bool
|
wpanic bool
|
||||||
}{
|
}{
|
||||||
{1, []uint64{1, 2, 3}, []int64{4, 5}, []byte("some data"), false},
|
{1, []uint64{1, 2, 3}, []uint64{4, 5}, []byte("some data"), false},
|
||||||
{2, []uint64{1, 2, 3}, []int64{4, 5}, []byte("some data"), false},
|
{2, []uint64{1, 2, 3}, []uint64{4, 5}, []byte("some data"), false},
|
||||||
{4, []uint64{1, 2, 3}, []int64{4, 5}, []byte("some data"), true}, // compact out of range
|
{4, []uint64{1, 2, 3}, []uint64{4, 5}, []byte("some data"), true}, // compact out of range
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tt := range tests {
|
for i, tt := range tests {
|
||||||
@ -438,14 +438,14 @@ func TestCompact(t *testing.T) {
|
|||||||
applied: 2,
|
applied: 2,
|
||||||
ents: []pb.Entry{{}, {Term: 1}, {Term: 1}, {Term: 1}},
|
ents: []pb.Entry{{}, {Term: 1}, {Term: 1}, {Term: 1}},
|
||||||
},
|
},
|
||||||
removed: make(map[int64]bool),
|
removed: make(map[uint64]bool),
|
||||||
}
|
}
|
||||||
for _, r := range tt.removed {
|
for _, r := range tt.removed {
|
||||||
sm.removeNode(r)
|
sm.removeNode(r)
|
||||||
}
|
}
|
||||||
sm.compact(tt.compacti, tt.nodes, tt.snapd)
|
sm.compact(tt.compacti, tt.nodes, tt.snapd)
|
||||||
sort.Sort(int64Slice(sm.raftLog.snapshot.Nodes))
|
sort.Sort(uint64Slice(sm.raftLog.snapshot.Nodes))
|
||||||
sort.Sort(int64Slice(sm.raftLog.snapshot.RemovedNodes))
|
sort.Sort(uint64Slice(sm.raftLog.snapshot.RemovedNodes))
|
||||||
if sm.raftLog.offset != tt.compacti {
|
if sm.raftLog.offset != tt.compacti {
|
||||||
t.Errorf("%d: log.offset = %d, want %d", i, sm.raftLog.offset, tt.compacti)
|
t.Errorf("%d: log.offset = %d, want %d", i, sm.raftLog.offset, tt.compacti)
|
||||||
}
|
}
|
||||||
@ -915,8 +915,8 @@ func TestRestore(t *testing.T) {
|
|||||||
}
|
}
|
||||||
sg := sm.nodes()
|
sg := sm.nodes()
|
||||||
srn := sm.removedNodes()
|
srn := sm.removedNodes()
|
||||||
sort.Sort(int64Slice(sg))
|
sort.Sort(uint64Slice(sg))
|
||||||
sort.Sort(int64Slice(srn))
|
sort.Sort(uint64Slice(srn))
|
||||||
if !reflect.DeepEqual(sg, s.Nodes) {
|
if !reflect.DeepEqual(sg, s.Nodes) {
|
||||||
t.Errorf("sm.Nodes = %+v, want %+v", sg, s.Nodes)
|
t.Errorf("sm.Nodes = %+v, want %+v", sg, s.Nodes)
|
||||||
}
|
}
|
||||||
@ -1088,7 +1088,7 @@ func TestAddNode(t *testing.T) {
|
|||||||
t.Errorf("pendingConf = %v, want false", r.pendingConf)
|
t.Errorf("pendingConf = %v, want false", r.pendingConf)
|
||||||
}
|
}
|
||||||
nodes := r.nodes()
|
nodes := r.nodes()
|
||||||
sort.Sort(int64Slice(nodes))
|
sort.Sort(uint64Slice(nodes))
|
||||||
wnodes := []uint64{1, 2}
|
wnodes := []uint64{1, 2}
|
||||||
if !reflect.DeepEqual(nodes, wnodes) {
|
if !reflect.DeepEqual(nodes, wnodes) {
|
||||||
t.Errorf("nodes = %v, want %v", nodes, wnodes)
|
t.Errorf("nodes = %v, want %v", nodes, wnodes)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user