Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hyperledger fabric 使用composer更新结构链码时出现MVCC_READ_冲突错误_Hyperledger Fabric_Hyperledger Composer - Fatal编程技术网

Hyperledger fabric 使用composer更新结构链码时出现MVCC_READ_冲突错误

Hyperledger fabric 使用composer更新结构链码时出现MVCC_READ_冲突错误,hyperledger-fabric,hyperledger-composer,Hyperledger Fabric,Hyperledger Composer,我使用部署到结构网络的composer和五个对等节点。 今天,当我尝试使用composer bna文件更新结构链码时。 但有一个对等返回错误: Error: Peer localhost:13051 has rejected transaction '39ae7b9cf735ca56a7b9a20c60745206d94852a0a4f73d14cd6fd8813ef57566' with code MVCC_READ_CONFLICT 尽管通过新的dev*链码docker,该对等体生成了

我使用部署到结构网络的composer和五个对等节点。 今天,当我尝试使用composer bna文件更新结构链码时。 但有一个对等返回错误:

Error: Peer localhost:13051 has rejected transaction '39ae7b9cf735ca56a7b9a20c60745206d94852a0a4f73d14cd6fd8813ef57566' with code MVCC_READ_CONFLICT  
尽管通过新的dev*链码docker,该对等体生成了一个up。 但是,所有交易都将返回:

 EXPIRED CHAINCODE 
所以我查了一下这个同龄人的日志,发现它仍然使用旧版本的链码

那么,如果有什么方法来更新这个对等方的链码版本呢?
composer使用node.js生成的链码是否可以直接由fabric使用?

发生的事情是,您有一个状态分叉,因此对等方将不同意(并且他们不同意使用的链码版本)。Fabric 1.4(不确定是哪个微版本)引入了将对等点重置回以前的块号的命令,您可以尝试使用这些命令将问题对等点重置回它们一致的点,并让它们再次从订购方提取块。
如果没有,则您必须从网络中删除该问题对等点,并创建新的对等点并将它们加入通道。

您使用的结构版本是什么?您是指“对等节点回滚”吗?v1.4支持它。回滚后,对等方将收到订单中的块,因此链码版本是否会得到同意?链码版本的信息也存储在tx in block?在这种情况下,只有对等点X需要回滚?我相信有回滚和重置。如果只有peer X不同意,那么这似乎是一个明智的选择。是否有一种灵活的方法可以在fabric v1.1上的peer上执行与v1.4上的peer重置操作相同的操作,例如,删除对等数据?@david_kNot,我知道,抱歉,但这并不意味着没有。我想您可以通过查看源代码来了解peer reset命令的作用,看看是否可以在1.1系统上手动重新创建它。在这种情况下发生了什么导致了状态分叉?