MCPcopy Create free account

hub / github.com/LLHFWT/rache / functions

Functions597 in github.com/LLHFWT/rache

↓ 36 callersMethodone
执行一次完整的agreement。一开始可能会选错leader,提交失败后会进行重试,失败超过10s会结束
raft/raft_test.go:1278
↓ 32 callersMethodconnect
建立连接
raft/raft_test.go:1108
↓ 31 callersMethodQuery
RPC方法,查询指定的config
kv/master.pb.go:722
↓ 25 callersMethoddisconnect
断开连接
raft/raft_test.go:1115
↓ 21 callersMethodjoin
(g int32)
kv/kvserver_test.go:603
↓ 19 callersFunctioncheckKV
(t *testing.T, cli *KVClient, key string, value string)
kv/kvserver_test.go:335
↓ 17 callersMethodcheckOneLeader
检查是否只有一个leader,re-election的情况下重试多次
raft/raft_test.go:1157
↓ 16 callersMethodbegin
开始一个test
raft/raft_test.go:1331
↓ 16 callersFunctioncleanStateFile
(n int)
raft/raft_test.go:915
↓ 16 callersMethodcleanup
执行清理工作
raft/raft_test.go:1137
↓ 16 callersMethodend
end a test -- 能够到达这里说明通过了测试,打印相关信息
raft/raft_test.go:1339
↓ 16 callersFunctionmakeConfig
(t *testing.T, addrList []string)
raft/raft_test.go:946
↓ 16 callersMethodstart
创建一个raft server
raft/raft_test.go:998
↓ 15 callersMethodJoin
RPC方法,向集群中加入一系列的replica group
kv/master.pb.go:716
↓ 15 callersMethodSubmit
submit command to logs,返回之前最新的日志index,当前term,以及是否是leader
raft/raft.go:91
↓ 14 callersMethodLeave
RPC方法,从集群中移除一些group
kv/master.pb.go:718
↓ 12 callersFunctionRandString
(n int)
utils/utils.go:16
↓ 11 callersMethodGet
Get
kv/group.pb.go:675
↓ 11 callersFunctioncheck
检查给定的group和最新的config是否匹配
kv/master_test.go:369
↓ 9 callersMethodconvertToFollower
转为follower状态
raft/raft.go:812
↓ 9 callersMethodlastIndex
()
raft/raft.go:895
↓ 9 callersMethodmakeKVClient
创建访问shard kv的客户端
kv/kvserver_test.go:585
↓ 9 callersMethodmakeMClient
创建master的客户端,只建立对to中server的连接
kv/master_test.go:548
↓ 8 callersMethodgetLog
index of logs may be changed for snapshot
raft/raft.go:883
↓ 7 callersMethodAppend
(key string, value string)
kv/kvclient.go:126
↓ 7 callersMethodCopy
(i int)
raft/persist.go:90
↓ 7 callersMethodGetState
读取当前Peer的状态,返回当前term以及是否为leader
raft/raft.go:791
↓ 7 callersFunctionNewPersist
(peerId int)
raft/persist.go:23
↓ 7 callersMethodPut
(key string, value string)
kv/kvclient.go:123
↓ 7 callersFunctioncleanStateFile
(n int)
kv/master_test.go:442
↓ 7 callersMethodcleanup
清理工作
kv/master_test.go:577
↓ 7 callersMethodcrash
关闭一个raft server,并保存它的状态
raft/raft_test.go:1074
↓ 7 callersMethodleave
撤出一个组
kv/kvserver_test.go:625
↓ 7 callersFunctionmakeMasterConfig
创建config
kv/master_test.go:463
↓ 7 callersMethodnCommitted
检查多少个server认为一个日志committed
raft/raft_test.go:1222
↓ 6 callersMethodAdd
(shards ...int)
utils/consistent_hash.go:49
↓ 6 callersFunctionNewRaftClient
(cc grpc.ClientConnInterface)
raft/raft.pb.go:586
↓ 6 callersFunctionRegisterRaftServer
(s *grpc.Server, srv RaftServer)
raft/raft.pb.go:641
↓ 6 callersMethodcleanup
()
kv/kvserver_test.go:639
↓ 6 callersFunctionclearStateFile
(n int)
kv/kvserver_test.go:342
↓ 6 callersFunctionmakeKVConfig
创建一个config
kv/kvserver_test.go:390
↓ 5 callersMethodMove
RPC方法,将shard从一个group移动到另一个
kv/master.pb.go:720
↓ 5 callersFunctionNewMClient
(servers []MasterClient)
kv/masterclient.go:19
↓ 5 callersMethodReadSnapshot
read raft snapshot from file
raft/persist.go:59
↓ 5 callersMethodresetElectTimer
重设选举定时器
raft/raft.go:877
↓ 4 callersMethodpersistState
persist raft peer's state
raft/raft.go:843
↓ 4 callersMethodsendToRaft
将操作提交至raft
kv/kvserver.go:169
↓ 4 callersMethodsendToRaft
将操作写入Raft
kv/msterserver.go:126
↓ 3 callersMethodAppendEntries
AppendEntries RPC method, leader use this method to append entries or send heartbeat
raft/raft.pb.go:577
↓ 3 callersMethodClearShard
Clear Shard
kv/group.pb.go:677
↓ 3 callersMethodInstallSnapshot
InstallSnapshot RPC method, leader use this method to send snapshot to follower to save time and memory
raft/raft.pb.go:579
↓ 3 callersMethodKill
停止运行
kv/kvserver.go:245
↓ 3 callersFunctionNewMasterClient
(cc grpc.ClientConnInterface)
kv/master.pb.go:729
↓ 3 callersFunctionNewRaftPeer
make a nee raft peer
raft/raft.go:387
↓ 3 callersMethodPutAppend
Put or Append
kv/group.pb.go:673
↓ 3 callersMethodReadStateSize
state file size
raft/persist.go:67
↓ 3 callersFunctionRegisterMasterServer
(s *grpc.Server, srv MasterServer)
kv/master.pb.go:798
↓ 3 callersMethodRequestVote
RequestVote RPC method, candidate use this method to request vote
raft/raft.pb.go:575
↓ 3 callersFunctionStartServer
创建一个master节点
kv/msterserver.go:159
↓ 3 callersMethodTransferShard
Transfer Shard
kv/group.pb.go:679
↓ 3 callersMethodcheckDup
检查是否是重复请求,当不重复时返回true
kv/kvserver.go:448
↓ 3 callersMethodcheckKey
检查key是否属于该group
kv/kvserver.go:443
↓ 3 callersMethodcheckLogs
检查snapshot是否合法
kv/kvserver_test.go:533
↓ 3 callersMethodisDupReq
检查是否是重复的请求
kv/msterserver.go:304
↓ 3 callersMethodisRunningLeader
检查raft是否启动以及是否是leader
raft/raft.go:805
↓ 3 callersMethodmakeConfig
基于当前最新的config创建一个新的config,将序号加一,其他内容不变
kv/msterserver.go:312
↓ 3 callersMethodsendRPC
代理一下RPC接口,用于进行测试
raft/raft.go:330
↓ 3 callersMethodsubIndex
(i int64)
raft/raft.go:891
↓ 3 callersMethodunreliableConnect
启用不可靠网络
raft/raft_test.go:1124
↓ 3 callersMethodwait
等待至少n个server commit,但不会一直等待
raft/raft_test.go:1246
↓ 2 callersMethodKill
关闭
raft/raft.go:798
↓ 2 callersFunctionMakeSeed
()
utils/utils.go:23
↓ 2 callersFunctionNewGroupClient
(cc grpc.ClientConnInterface)
kv/group.pb.go:686
↓ 2 callersFunctionNewKVClient
(masters []MasterClient)
kv/kvclient.go:28
↓ 2 callersFunctionNewKVServer
创建一个server
kv/kvserver.go:251
↓ 2 callersMethodPutAppend
Put or Append 一个key-value
kv/kvclient.go:83
↓ 2 callersMethodRaft
()
kv/kvserver.go:586
↓ 2 callersFunctionRandNum64
()
utils/utils.go:9
↓ 2 callersFunctionRegisterGroupServer
(s *grpc.Server, srv GroupServer)
kv/group.pb.go:755
↓ 2 callersMethodSaveRaftState
persis raft peer's state to file
raft/persist.go:33
↓ 2 callersMethodShutdownGroup
(i int)
kv/kvserver_test.go:578
↓ 2 callersMethodapply
更新lastApplied并发送通知给调用者
raft/raft.go:778
↓ 2 callersMethodbalance
将shards在各节点间进行均衡,核心目的是让各个group拥有尽可能一样多的shard
kv/msterserver.go:328
↓ 2 callersMethodcheckTerms
检查是否每一个raft节点都agree on相同的term
raft/raft_test.go:1206
↓ 2 callersMethodcheckTimeout
检查是否超时,限制超时时间为2分钟
raft/raft_test.go:1149
↓ 2 callersFunctioncopyFile
(src, dst string)
raft/persist.go:110
↓ 2 callersMethoddecodeSnapshot
解码snapshot
kv/kvserver.go:481
↓ 2 callersMethodpersistStatesAndSnapshot
(snapshot []byte)
raft/raft.go:860
↓ 2 callersFunctionrandElectTime
generate random election timeout
raft/raft.go:913
↓ 2 callersMethodreliableConnect
(i int)
raft/raft_test.go:1130
↓ 2 callersMethodstartKVServer
启动kv server, i代表group索引, j代表group内server的索引
kv/kvserver_test.go:473
↓ 1 callersFunctionInit
()
http/api.go:55
↓ 1 callersMethodIsEmpty
()
utils/consistent_hash.go:31
↓ 1 callersMethodJoin
将多组新的服务器加入到集群中
kv/masterclient.go:30
↓ 1 callersFunctionNewConsistentHashMap
(replicas int, hash HashFunc)
utils/consistent_hash.go:18
↓ 1 callersMethodReadRaftState
read raft state from file
raft/persist.go:51
↓ 1 callersMethodReconfigure
负责监控配置的变化,移动数据,每100ms拉一次配置
kv/kvserver.go:490
↓ 1 callersMethodReload
读取用户的配置文件参数
conf/load.go:18
↓ 1 callersMethodReset
()
raft/raft.pb.go:454
↓ 1 callersMethodRun
核心处理逻辑,负责与客户端交互
kv/kvserver.go:288
next →1–100 of 597, ranked by callers