Fabric Composer 的 Bluemix 区块链服务错误
Bluemix Blockchain service error with Fabric Composer
我使用 fabric composer v0.7.0 将业务网络部署到 Bluemix (v0.6) 上的区块链服务。
应用程序运行一段时间后出现以下错误:
throw er; // Unhandled 'error' event
^
Error
at ClientDuplexStream._emitStatusIfDone (/home/vcap/app/node_modules/grpc/src/node/src/client.js:189:19)
at ClientDuplexStream._receiveStatus (/home/vcap/app/node_modules/grpc/src/node/src/client.js:169:8)
执行composer network deploy
命令时有时也会发生这种情况。
This problem occurs because of the way the event hub works in
Hyperledger Fabric v0.6. The Node.js client for Fabric hfc
maintains
a persistent connection to the event hub but does not cope well with
network blips/disconnects etc (it just kills the client). Persistent
connections aren't really cloud friendly as the network/routing will
just terminate idle connections after a while.
https://whosebug.com/users/7512977/simon-stone
处理方法:
- 您可以(可能应该)拥有您的应用程序的多个实例 运行 所以当一个崩溃时另一个仍然 运行 接管。
- 在每个链代码调用之前调用
BusinessNetworkConnection.connect()
以重新创建事件中心连接。 请注意,这不是很有效,因为建立连接需要一段时间
如果使用 composer-cli
部署时出现错误,您可能需要在一分钟左右后再次尝试执行该命令。
在设定的时间间隔内调用 BusinessNetworkConnection.ping()
对解决问题没有帮助,因为问题是由事件中心引起的,并且事件仅在实际交易中发布。 ping()
是不创建交易的只读链代码查询。
我使用 fabric composer v0.7.0 将业务网络部署到 Bluemix (v0.6) 上的区块链服务。
应用程序运行一段时间后出现以下错误:
throw er; // Unhandled 'error' event
^
Error
at ClientDuplexStream._emitStatusIfDone (/home/vcap/app/node_modules/grpc/src/node/src/client.js:189:19)
at ClientDuplexStream._receiveStatus (/home/vcap/app/node_modules/grpc/src/node/src/client.js:169:8)
执行composer network deploy
命令时有时也会发生这种情况。
This problem occurs because of the way the event hub works in Hyperledger Fabric v0.6. The Node.js client for Fabric
hfc
maintains a persistent connection to the event hub but does not cope well with network blips/disconnects etc (it just kills the client). Persistent connections aren't really cloud friendly as the network/routing will just terminate idle connections after a while. https://whosebug.com/users/7512977/simon-stone
处理方法:
- 您可以(可能应该)拥有您的应用程序的多个实例 运行 所以当一个崩溃时另一个仍然 运行 接管。
- 在每个链代码调用之前调用
BusinessNetworkConnection.connect()
以重新创建事件中心连接。 请注意,这不是很有效,因为建立连接需要一段时间
如果使用 composer-cli
部署时出现错误,您可能需要在一分钟左右后再次尝试执行该命令。
在设定的时间间隔内调用 BusinessNetworkConnection.ping()
对解决问题没有帮助,因为问题是由事件中心引起的,并且事件仅在实际交易中发布。 ping()
是不创建交易的只读链代码查询。