Corda BFT公证群集在一个副本掉线后停止

问题描述 投票:2回答:1

TL; DR-具有4-5个公证节点的BFT集群在杀死一个副本时会停止运行。

我运行了notary demo,并且Raft集群(带有3个公证节点)的行为符合预期-当我杀死领导者时,将进行选举,并且公证集群将继续提供可靠的服务。

我希望在运行BFT群集(具有4个公证节点)时会发生相同的事情-杀死其中一个副本不应阻止该群集提供可靠的公证服务。但是,发生了什么:

1)启动BFT公证集群

2)我无法使用gradlew samples:notary-demo:notarise公证10个交易>

3)停止集群中的副本之一

4)尝试使用gradlew samples:notary-demo:notarise公证10个交易>

5)等待几分钟,什么也没发生(交易未经过公证)

6)其余所有副本终端继续填充re-connecting to replica 1 at /127.0.0.1:11010

为了安全起见,我决定向集群添加另一个公证节点。但是,没有任何变化-有5个公证节点,杀死其中的一个会使集群变得停滞。

我调查了how BFT SMaRt works,但据我所知,只要有足够的可用副本(N> = 3f +1),它就应该能够容忍任何故障(包括崩溃停止)。

我在这里缺少什么吗?我所期望的行为是不合理的-具有4-5个公证节点的BFT群集能够容忍1个节点死亡吗?还是Corda有问题?

TL; DR-具有4-5个公证节点的BFT群集在杀死一个副本时会停止运行。我运行了公证演示,并且Raft集群(带有3个公证节点)的行为符合预期-当我杀死组长时,...

corda fault-tolerance notary
1个回答
0
投票

很难知道在这种情况下是什么问题,因为这里没有太多信息,但是Corda Repo最近更新了此示例,因此可能值得尝试重新查看该项目以查看它现在是否正常运行。

这里是最近的4.5版本公证演示的链接:

© www.soinside.com 2019 - 2024. All rights reserved.