MCPcopy Create free account

hub / github.com/LLHFWT/rache / functions

Functions597 in github.com/LLHFWT/rache

↓ 1 callersMethodRun
核心执行流程
kv/msterserver.go:180
↓ 1 callersMethodSaveStateAndSnapshot
persist raft snapshot to file
raft/persist.go:41
↓ 1 callersMethodShutdownKVServer
(i, j int)
kv/kvserver_test.go:560
↓ 1 callersMethodTakeSnapshot
上层应用会调用该方法主动触发快照
raft/raft.go:744
↓ 1 callersMethodaddIndex
(i int64)
raft/raft.go:887
↓ 1 callersMethodapplyAppend
执行Append操作
kv/kvserver.go:366
↓ 1 callersMethodapplyCleanup
执行内存清理操作
kv/kvserver.go:398
↓ 1 callersMethodapplyGet
执行Get操作
kv/kvserver.go:379
↓ 1 callersMethodapplyJoin
执行Join操作,创建一个新的config,加入给定的group,并重新均衡shard至各group,在加锁下执行
kv/msterserver.go:244
↓ 1 callersMethodapplyLeave
执行Leave操作,创建一个新的config,将给定的groups从master删掉,并重新均衡,在加锁下执行
kv/msterserver.go:265
↓ 1 callersMethodapplyMove
执行Move操作,创建一个新的config,将指定的shard转移到目标group,因为是人为转移,只转移一个所以不需要均衡,在加锁下执行
kv/msterserver.go:296
↓ 1 callersMethodapplyPut
执行下面的操作都需要检查key是否属于该group,并对操作进行重复检查 执行PUT操作
kv/kvserver.go:352
↓ 1 callersMethodapplyReconfigure
执行Reconfigure操作
kv/kvserver.go:406
↓ 1 callersMethodcheckIfSnapshot
检查是否需要snapshot,将结果发送给raft节点处理
kv/kvserver.go:456
↓ 1 callersMethodcheckNoLeader
检查是否没有leader
raft/raft_test.go:1194
↓ 1 callersFunctioncheckSameConfig
检查给定的两个config是否一致
kv/master_test.go:411
↓ 1 callersMethodcheckTimeout
执行完毕后检查是否超时
kv/kvserver_test.go:526
↓ 1 callersMethodcheckTimeout
检查超时,限制执行时间2分钟
kv/master_test.go:570
↓ 1 callersMethodencodeSnapshot
创建snapshot,内容包括cliToSeq、config和数据
kv/kvserver.go:471
↓ 1 callersMethodgetReconfigureOp
从其他group收集重配置所需要的shards,并构建Op交给Raft处理
kv/kvserver.go:516
↓ 1 callersMethodjoinm
加入一些组
kv/kvserver_test.go:608
↓ 1 callersMethodlastTerm
()
raft/raft.go:899
↓ 1 callersMethodleavem
将一些组撤出
kv/kvserver_test.go:630
↓ 1 callersMethodlogLength
()
raft/raft.go:903
↓ 1 callersMethodreadPersistedState
read raft peer's state from persisted file
raft/raft.go:822
↓ 1 callersMethodrun
()
raft/raft.go:446
↓ 1 callersMethodrunPeer
该raft Peer的主循环,由选举超时驱动
raft/raft.go:437
↓ 1 callersMethodsendClearShard
发送清理无用shards的RPC请求,通知其他group进行清理
kv/kvserver.go:207
↓ 1 callersMethodsendTransferShard
发送RPC请求,从对方gid处获取shards数据以及CliToSeq
kv/kvserver.go:226
↓ 1 callersMethodstartAppendEntries
开始向follower追加日志
raft/raft.go:571
↓ 1 callersFunctionstartGroupServer
启动group server
main.go:99
↓ 1 callersMethodstartHeartbeat
start to send heartbeat when a candidate become leader
raft/raft.go:545
↓ 1 callersMethodstartInstallSnapshot
开始发送 InstallSnapshot RPC
raft/raft.go:690
↓ 1 callersFunctionstartMasterServer
启动master server
main.go:79
↓ 1 callersMethodstartMasterServer
创建master Server
kv/kvserver_test.go:502
↓ 1 callersMethodstartMasterServer
启动server
kv/master_test.go:499
↓ 1 callersMethodupdateCommitIndex
当半数Peer追加了日志,则可以commit
raft/raft.go:761
MethodAppendEntries
AppendEntries RPC 服务端方法
raft/raft.go:175
MethodAppendEntries
(ctx context.Context, in *AppendEntriesArgs, opts ...grpc.CallOption)
raft/raft.pb.go:599
MethodAppendEntries
AppendEntries RPC method, leader use this method to append entries or send heartbeat
raft/raft.pb.go:622
MethodAppendEntries
(ctx context.Context, req *AppendEntriesArgs)
raft/raft.pb.go:634
MethodClearShard
(ctx context.Context, in *ClearShardArgs, opts ...grpc.CallOption)
kv/group.pb.go:708
MethodClearShard
Clear Shard
kv/group.pb.go:733
MethodClearShard
(ctx context.Context, req *ClearShardArgs)
kv/group.pb.go:748
MethodDeleteShard
清理Shards的RPC操作
kv/kvserver.go:106
MethodDescriptor
()
kv/master.pb.go:39
MethodDescriptor
()
kv/master.pb.go:93
MethodDescriptor
()
kv/master.pb.go:140
MethodDescriptor
()
kv/master.pb.go:181
MethodDescriptor
()
kv/master.pb.go:235
MethodDescriptor
()
kv/master.pb.go:284
MethodDescriptor
()
kv/master.pb.go:345
MethodDescriptor
()
kv/master.pb.go:393
MethodDescriptor
()
kv/master.pb.go:448
MethodDescriptor
()
kv/master.pb.go:504
MethodDescriptor
()
kv/master.pb.go:569
MethodDescriptor
()
kv/group.pb.go:41
MethodDescriptor
()
kv/group.pb.go:109
MethodDescriptor
()
kv/group.pb.go:157
MethodDescriptor
()
kv/group.pb.go:212
MethodDescriptor
()
kv/group.pb.go:266
MethodDescriptor
()
kv/group.pb.go:313
MethodDescriptor
()
kv/group.pb.go:360
MethodDescriptor
()
kv/group.pb.go:408
MethodDescriptor
()
kv/group.pb.go:470
MethodDescriptor
()
kv/group.pb.go:572
MethodDescriptor
()
raft/raft.pb.go:41
MethodDescriptor
()
raft/raft.pb.go:103
MethodDescriptor
()
raft/raft.pb.go:155
MethodDescriptor
()
raft/raft.pb.go:233
MethodDescriptor
()
raft/raft.pb.go:298
MethodDescriptor
()
raft/raft.pb.go:366
MethodDescriptor
()
raft/raft.pb.go:407
MethodDescriptor
()
raft/raft.pb.go:457
MethodGet
实现Get RPC操作
kv/kvserver.go:62
MethodGet
(ctx context.Context, in *GetArgs, opts ...grpc.CallOption)
kv/group.pb.go:699
MethodGet
Get
kv/group.pb.go:731
MethodGet
(ctx context.Context, req *GetArgs)
kv/group.pb.go:745
MethodGet
查询一个key-value
kv/kvclient.go:43
MethodGet
(str string)
utils/consistent_hash.go:35
MethodGetCandidateId
()
raft/raft.pb.go:70
MethodGetClientId
()
kv/master.pb.go:75
MethodGetClientId
()
kv/master.pb.go:217
MethodGetClientId
()
kv/master.pb.go:327
MethodGetClientId
()
kv/master.pb.go:429
MethodGetClientId
()
kv/master.pb.go:598
MethodGetClientId
()
kv/group.pb.go:84
MethodGetClientId
()
kv/group.pb.go:186
MethodGetClientId
()
kv/group.pb.go:499
MethodGetClientToSeq
()
kv/group.pb.go:444
MethodGetClientToSeq
()
kv/group.pb.go:541
MethodGetCommand
()
kv/master.pb.go:591
MethodGetCommand
()
kv/group.pb.go:492
MethodGetCommand
()
raft/raft.pb.go:436
MethodGetConfig
()
kv/master.pb.go:484
MethodGetConfigNum
()
kv/group.pb.go:527
MethodGetConflictIndex
()
raft/raft.pb.go:276
MethodGetConflictTerm
()
raft/raft.pb.go:269
MethodGetCurrentTerm
()
raft/raft.pb.go:479
MethodGetData
()
kv/group.pb.go:437
← previousnext →101–200 of 597, ranked by callers