Results 6 comments of ToniX

你是2A的测试吧, 2A里面[GetState](https://github.com/ToniXWD/MIT6.8540/blob/lab2A/src/raft/raft.go#L107)获取状态时没有加锁, 所以-race会报错, 这里是2B改过之后的代码[GetState](https://github.com/ToniXWD/MIT6.8540/blob/lab2B/src/raft/raft.go#L110)

你能提供下数据竞争的报错信息吗(用2b的分支), 然后新建变量是可行的,不过还是需要同步的手段,比如原子操作和锁,但我考虑到一个节点可能多次投票,如果是新建一个临时变量的话,每次投票都需要初始化临时变量和临时锁,不如直接放结构体里面,这是我个人的理解

我自己试了下, 应该是DPrintf打印的时候没有对数据加锁, 小问题

dstest.py是什么脚本啊? 为什么我没看到实验给了这个东西啊😂话说我们是一个学期的lab吗? 我是2023的

那应该是学期不匹配吧, 23年的只要过go test就行

不太明白你的意思, 你是指怎么把lab的集群跑起来, 而不仅仅是在测试环境中运行吗? 如果这样的话你需要看看官方的测试代码是怎么跑的, 然后做修改