update
This commit is contained in:
parent
d21b9ffe74
commit
fa6877b02d
@ -2,7 +2,6 @@ package shardgrp
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
||||||
|
|
||||||
"6.5840/kvsrv1/rpc"
|
"6.5840/kvsrv1/rpc"
|
||||||
"6.5840/shardkv1/shardcfg"
|
"6.5840/shardkv1/shardcfg"
|
||||||
"6.5840/tester1"
|
"6.5840/tester1"
|
||||||
|
|||||||
@ -67,7 +67,7 @@ func TestStaticOneShardGroup5A(t *testing.T) {
|
|||||||
|
|
||||||
// disconnect raft leader of shardgrp and check that keys are
|
// disconnect raft leader of shardgrp and check that keys are
|
||||||
// still available
|
// still available
|
||||||
ts.disconnectClntFromLeader(ck.(*kvtest.TestClerk).Clnt, shardcfg.Gid1)
|
ts.disconnectClntFromLeader(shardcfg.Gid1)
|
||||||
|
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ts.CheckGet(ck, ka[i], va[i], rpc.Tversion(1)) // check the puts
|
ts.CheckGet(ck, ka[i], va[i], rpc.Tversion(1)) // check the puts
|
||||||
|
|||||||
@ -178,25 +178,12 @@ func (ts *Test) leaveGroups(sck *shardctrler.ShardCtrler, gids []tester.Tgid) bo
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ts *Test) disconnectRaftLeader(gid tester.Tgid) (int, string) {
|
func (ts *Test) disconnectClntFromLeader(gid tester.Tgid) int {
|
||||||
_, l := rsm.Leader(ts.Config, gid)
|
ok, l := rsm.Leader(ts.Config, gid)
|
||||||
g := ts.Group(gid)
|
if !ok {
|
||||||
ln := g.SrvName(l)
|
log.Fatalf("Leader failed")
|
||||||
g.DisconnectAll(l)
|
}
|
||||||
return l, ln
|
ts.Group(gid).ShutdownServer(l)
|
||||||
}
|
|
||||||
|
|
||||||
func (ts *Test) reconnectOldLeader(gid tester.Tgid, l int) {
|
|
||||||
g := ts.Group(gid)
|
|
||||||
g.ConnectOne(l)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ts *Test) disconnectClntFromLeader(clnt *tester.Clnt, gid tester.Tgid) int {
|
|
||||||
l, ln := ts.disconnectRaftLeader(gid)
|
|
||||||
p := ts.Group(gid).AllowServersExcept(l)
|
|
||||||
srvs := ts.Group(gid).SrvNamesTo(p)
|
|
||||||
clnt.Disconnect(ln)
|
|
||||||
clnt.ConnectTo(srvs)
|
|
||||||
return l
|
return l
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -299,19 +299,6 @@ func (sg *ServerGrp) MakePartition(l int) ([]int, []int) {
|
|||||||
return p1, p2
|
return p1, p2
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sg *ServerGrp) AllowServersExcept(l int) []int {
|
|
||||||
n := len(sg.srvs) - 1
|
|
||||||
p := make([]int, n)
|
|
||||||
j := 0
|
|
||||||
for i, _ := range sg.srvs {
|
|
||||||
if i != l {
|
|
||||||
p[j] = i
|
|
||||||
j++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
|
|
||||||
func (sg *ServerGrp) Partition(p1 []int, p2 []int) {
|
func (sg *ServerGrp) Partition(p1 []int, p2 []int) {
|
||||||
//log.Printf("partition servers into: %v %v\n", p1, p2)
|
//log.Printf("partition servers into: %v %v\n", p1, p2)
|
||||||
for i := 0; i < len(p1); i++ {
|
for i := 0; i < len(p1); i++ {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user