PubSubException:io.grpc.StatusRuntimeException:不可用
Posted
技术标签:
【中文标题】PubSubException:io.grpc.StatusRuntimeException:不可用【英文标题】:PubSubException: io.grpc.StatusRuntimeException: UNAVAILABLE 【发布时间】:2018-02-16 07:56:59 【问题描述】:伙计们,我在使用 Pubsub 时收到以下错误消息:
线程“主”com.google.cloud.pubsub.PubSubException 中的异常:io.grpc.StatusRuntimeException:不可用:HTTP/2 错误代码:NO_ERROR 收到Goaway 最大年龄 .... 引起:com.google.api.gax.grpc.ApiException:io.grpc.StatusRuntimeException:不可用:HTTP/2 错误代码:NO_ERROR
每小时发生一次,我们使用的是 google-cloud-pubsub 0.8.0、google-cloud-storage 0.7.0 和 scala 2.11.7。任何人都可以在这里提供一些帮助吗?谢谢!
【问题讨论】:
【参考方案1】:来自服务器的GOAWAY 帧表明服务器正在关闭连接。您可以尝试在https://github.com/GoogleCloudPlatform/google-cloud-java/ 上询问有关此特定服务为什么会发生这种情况的更多详细信息,但 max_age 可能暗示连接已达到某个时间限制。正确的响应是在收到此错误时重新连接(关闭 gRPC 通道并创建一个新通道)。
【讨论】:
感谢 Eric 的回复!我会联系 GCP github【参考方案2】:我遇到了这个问题,问题是我在通过 grpc 通信的服务上使用了不同的库版本。 导致问题的库是这样的:
<dependency>
<groupId>com.google.api.grpc</groupId>
<artifactId>proto-google-common-protos</artifactId>
<version>1.0.0</version>
</dependency>
希望对你有帮助!
【讨论】:
以上是关于PubSubException:io.grpc.StatusRuntimeException:不可用的主要内容,如果未能解决你的问题,请参考以下文章