我在 GCP 中部署了一个超级账本结构网络。我使用结构节点 sdk 与网络通信。
当 sdk 和网络之间没有活动时,如果我尝试调用链代码,API 调用会在 sendTransaction 到 Orderer 时失败,并显示以下日志。
错误:[Orderer.js]:sendBroadcast - 错误:“错误:14 不可用:TCP 读取失败\n at createStatusError (/usr/src/app/node_modules/grpc/src/client.js:64:15)\n在 ClientDuplexStream._emitStatusIfDone (/usr/src/app/node_modules/grpc/src/client.js:270:19)\n 在 ClientDuplexStream._receiveStatus (/usr/src/app/node_modules/grpc/src/client.js: 248:8)\n 在 /usr/src/app/node_modules/grpc/src/client.js:804:12" 请求失败:POST /channels/stanfinandcredth/chaincodes/sc1547746253:SERVICE_UNAVAILABLE 错误:ClientDuplexStream 处的 SERVICE_UNAVAILABLE。(/usr/src/app/node_modules/fabric-client/lib/Orderer.js:136:21) 在 ClientDuplexStream.emit (events.js:211:7) 在 ClientDuplexStream 的 emitOne (events.js:116:13) ._emitStatusIfDone (/usr/src/app/node_modules/grpc/src/client.js:271: 12) 在 ClientDuplexStream._receiveStatus (/usr/src/app/node_modules/grpc/src/client.js:248:8) 在 /usr/src/app/node_modules/grpc/src/client.js:804:12 错误:ClientDuplexStream 处的SERVICE_UNAVAILABLE。(/usr/src/app/node_modules/fabric-client/lib/Orderer.js:136:21) 在 ClientDuplexStream.emit (events.js:211:7) 在 ClientDuplexStream 的 emitOne (events.js:116:13) ._emitStatusIfDone (/usr/src/app/node_modules/grpc/src/client.js:271:12) 在 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 似乎无法访问 Orderer。立即的下一个调用请求成功。这发生在 15 分钟的空闲时间之后。
我尝试为连接设置 grpc 超时,但似乎没有帮助。