在网络空闲15-20分钟后调用sendTransaction会失败

我在GCP中部署了hyperledger fabric网络。我使用fabric节点sdk与网络通信。

当sdk和网络之间没有活动时,如果我尝试调用链码,API调用在sendTransaction到排序程序时失败,日志如下。

error: Orderer.js: sendBroadcast - on error:"Error: 14 UNAVAILABLE: TCP Read failed\n at createStatusError (/usr/src/app/node_modules/grpc/src/client.js:64:15)\n at ClientDuplexStream._receiveStatus (/usr/src/app/node_modules/grpc/src/client.js:270:19)\n at ClientDuplexStream._emitStatusIfDone (/usr/src/app/node_modules/grpc/src/client.js:270:19)\n at /usr“/src/app/node_modules/grpc/src/client.js:804:12“请求失败: POST /channels/stanfinandcredth/chaincodes/sc1547746253: SERVICE_UNAVAILABLE错误: SERVICE_UNAVAILABLE at ClientDuplexStream。(/usr/src/app/node_modules/fabric-client/lib/Orderer.js:136:21) at emitOne (events.js:116:13) at ClientDuplexStream.emit (events.js:211:7) at ClientDuplexStream._emitStatusIfDone (/usr/src/app/node_modules/grpc/src/client.js:271:12) at ClientDuplexStream._receiveStatus (/usr/src/app/node_modules/grpc/src/client.js:248:8) at /usr/src/app/node_modules/grpc/src/client.js:804:12 Error: SERVICE_UNAVAILABLE at ClientDuplexStream。(/usr/src/app/node_modules/fabric-client/lib/Orderer.js:136:21) at emitOne (events.js:116:13) at ClientDuplexStream.emit (events.js:211:7) at ClientDuplexStream._emitStatusIfDone (/usr/src/app/node_modules/grpc/src/client.js:271:12) at ClientDuplexStream._receiveStatus (/usr/src/app/node_modules/grpc/src/client.js:248:8)在/usr/src/app/node_modules/grpc/src/client.js:804:12

SDK似乎无法到达订单者。紧随其后的下一个调用请求成功。在15分钟的空闲时间之后,每次都会发生这种情况。

我尝试为连接设置grpc超时,但似乎没有帮助。

转载请注明出处:http://www.chufzs.com/article/20230526/1290353.html