首页 > 解决方案 > 为什么我会随机开始接收现有通道的错误“MSP 错误:通道不存在”Hyperledger Fabric?

问题描述

我在 HLF v1.3 上运行三个对等节点。为了与 Fabric 交互,我使用的是 JS SDK。在启动容器、安装、实例化和持续运行测试调用大约一天后,我开始收到以下错误:

在 API 容器日志中:

[2018-11-12 13:59:15.131] [ERROR] invoke-chaincode - invoke chaincode proposal was bad
[2018-11-12 13:59:15.131] [ERROR] invoke-chaincode - Failed to invoke chaincode. Cause: Failed to send proposal and receive all good ProposalResponse

在相应的peer容器日志上:

peer0.1.y9mur3rk78x7@master0    | 2018-11-12 13:59:15.131 UTC [protoutils] ValidateProposalMessage -> WARN 627982 channel [mychannel]: MSP error: channel doesn't exist

鉴于我们的测试运行程序每秒都能成功调用,直到此时,什么可能导致 HLF 突然丢失/删除通道并开始返回这些错误

对于更多背景故事,这些容器以 docker swarm 模式运行。

标签: hyperledger-fabric

解决方案


如果您使用 docker logs 命令,例如“docker logs peer0.org1.example.com”,您可以检查所有日志,包括 ca、couchdb、peer、orderer。我相信你能找到一些原因。如果您使用 shell 脚本运行,有时 sleep 在某些时候会有所帮助。

具体来说,创建频道后,需要设置睡眠片刻。在示例 fabric-dev-server 配置中,默认睡眠时间为 15 秒。我使用的是 3 秒,但这取决于您的硬件和业务网络。


推荐阅读