【问题标题】:Bluemix Blockchain service error with Fabric ComposerFabric Composer 的 Bluemix Blockchain 服务错误
【发布时间】:2017-05-02 22:28:17
【问题描述】:

使用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 命令时有时也会发生这种情况。

【问题讨论】:

    标签: ibm-cloud hyperledger hyperledger-fabric hyperledger-composer


    【解决方案1】:

    发生此问题的原因是事件中心的工作方式 Hyperledger Fabric v0.6。 Fabric hfc 的 Node.js 客户端维护 与事件中心的持久连接,但不能很好地应对 网络故障/断开连接等(它只会杀死客户端)。执着的 连接并不像网络/路由那样真正对云友好 只是在一段时间后终止空闲连接。 https://stackoverflow.com/users/7512977/simon-stone

    处理方法:

    1. 您可以(可能应该)运行应用程序的多个实例,这样当一个实例崩溃时,另一个实例仍在运行以接管。
    2. 在调用每个链代码之前调用BusinessNetworkConnection.connect() 以重新创建事件中心连接。 请注意,这不是很有效,因为建立连接需要一段时间

    如果使用composer-cli 部署时出现错误,您可能需要在大约一分钟后再次尝试执行该命令。

    在设定的时间间隔内调用 BusinessNetworkConnection.ping() 将无助于解决问题,因为问题是由事件中心引起的,并且事件仅在实际事务中发布。 ping() 是只读链码查询,不会创建事务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      相关资源
      最近更新 更多