[tinyKV] project2b 关于region的疑问

测试project2b 出现: panic: find no region for 30203030303030303030
发 Put 请求时需要拿到region,但是我的存region的b树一直都是空的,region是需要自己去创建然后添加嘛?看到文档没有关于这个的描述。

想请教一下是那一段逻辑会增加region呢?是调用ReplaceOrInsert() ?

1赞

我们做的时候没有遇到这个问题,你看看test的初始化部分,我记得region是他帮你初始化的。需要你写代码的地方只有文档指出的3个接口,不需要对region做操作。

1赞

xd,你知道schedulerClient.regionsRange是什么时候进行region的插入的嘛(比如在TestBasic2B中)?我看到的是只有处理SchedulerRegionHeartbeatTask这个task的时候会插入region。

找到原因了:sob:。2A选举那里写的有点问题,开启日志输出就把问题显示出来了,一些信息需要从持久化的数据中恢复

能具体讲一讲是如何解决的吗,我也遇到了这个问题

2a写的有问题,选举没成功

不好意思这周没看astTug,这个我还不是很了解,没有具体看那部分。但是这个region的插入应该是3B才会涉及到,这里是不会涉及的。

遇到同样的问题,2a 测试用例都通过了,能麻烦说明下当时排查到的具体问题吗?

更新一下,我个人代码导致这个问题的原因是new raft 时各节点不知道其他节点的存在,初始化时通过confstate 获得此信息并处理后,这个报错不再出现

你好,我在你的基础上遇到了append到raft的msgs上的信息没有被集群发送给其他节点的问题,这个问题在2a中不存在,请问你有遇到这样的问题吗?有的话是怎么解决的呢?

我理解是因为2a 没有故障容错的要求所以问题暴露不出来,你在具体哪个测试出问题了可以发出来一起看下