35 shardkv 补充修改
在 shardkv 的分片迁移和清理大致完成之后,我们还需要修改几个地方,才能够将测试 run 起来。
主要有以下改动:
matchGroup方法,需要判断 shard 的状态,如果是 GC 或者 Normal 状态,均可以继续提供服务StartServer方法中,需要注册 labgob 相关的结构体。makeSnapshot和restoreFromSnapshot中, config 信息也需要进行持久化,并且需要初始化 shard 的状态- fetchConfigTask 中,需要加上一个判断,如果任何一个 shard 的状态是非 Normal 的,则说明前一个 shard 迁移的流程还在进行中,我们就跳过拉取新的配置,避免覆盖之前的任务
- Apply 的时候,客户端操作也需要判断 Group 是否匹配
评论
