hyperledger-fabric - 为什么我会随机开始接收现有通道的错误“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 模式运行。
解决方案
如果您使用 docker logs 命令,例如“docker logs peer0.org1.example.com”,您可以检查所有日志,包括 ca、couchdb、peer、orderer。我相信你能找到一些原因。如果您使用 shell 脚本运行,有时 sleep 在某些时候会有所帮助。
具体来说,创建频道后,需要设置睡眠片刻。在示例 fabric-dev-server 配置中,默认睡眠时间为 15 秒。我使用的是 3 秒,但这取决于您的硬件和业务网络。
推荐阅读
- tinymce - 更改表格列宽时如何更改 TinyMCE v.5 光标类型?
- mvvm - ViewModel 的最佳架构(RxSwift)
- java - 如何在 JUnit5 中测试列表?
- javascript - 如何自动从 chrome 扩展中获取页面 DOM?
- python-3.x - TypeError:“类型”对象不支持项目分配
- javascript - 将 gif 添加到 p5.js “艺术品”
- javascript - Nightwatch E2E-Test:将图像保存到本地文件夹
- python-3.x - python添加浮点数并保留最大的小数部分
- c# - HOWTO:将字符串中的 unicode 字符表示形式转换为实际的 unicode 字符
- java - 是否可以在 Java Mail 中记录 setdebug(true) 消息?