Hyperledger Fabric 如何处理部分提交者失败

How does Hyperledger Fabric handle partial committer failure

我看了 Hyperledger Fabric 文档,它说在排序者验证交易后,它将把交易广播给所有提交者节点;

并且提交者将继续验证事务,例如验证读取集以确保它在状态数据库中没有被更改。

我的问题是当读取集验证在部分提交者对等体中失败时 Fabric 应该做什么。

据我们所知,之前提案流程已经成功,orderer服务也通过了交易验证,其余提交者也验证了交易并将交易数据写入账本。

在这种情况下,Hyperledger Fabric是如何处理的?

  1. 中止此交易?但其他提交者已写入壁架。
  2. 继续这个交易?但是有些提交者因为readset被改变而无法通过验证

谢谢。

基本上,这不可能发生。验证节点的 all 将验证或失败交易。在验证失败的情况下,statedb 和分类账都不会更新它们中任何一个的交易。交易将保留在区块中,但将发布一个事件,指示交易失败并应重新提交。