gRPC 异常:io.grpc.StatusRuntimeException:不可用:不可用

问题描述 投票:0回答:1

我们在运行负载测试时收到此错误。运行 3 或 4 次负载测试后,我们看到此错误:UNAVAILABLE:不可用。然后,错误后的下一个请求需要近 30 秒才能完成。

这是完整的堆栈跟踪:

io.grpc.StatusRuntimeException: UNAVAILABLE: unavailable    
at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:275) 
at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:256)  
at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:169)     at co.com.mycompany.myappname.grpc.client.ValidateTransactionGrpc$ValidateTransactionBlockingStub.validate(ValidateTransactionGrpc.java:157)    at co.com.mycompany.myappname.grpc.client.AppDetectorClient.invoke(AppDetectorClient.java:21)   
at co.com.mycompany.myappname.infrastructure.adapters.GrpcAdapter.provide(GrpcAdapter.java:33)  
at co.com.mycompany.myappname.application.services.AppDetectorService.execute(AppDetectorService.java:42)   
at co.com.mycompany.myappname.application.services.$AppDetectorService$Definition$Intercepted.$$access$$execute(Unknown Source)     
at ...

如您所见,没有“引起”的痕迹。

我们目前正在使用 java 11 和 micronaut (v3.9.1) grpc-protobuf 版本 1.49.0 grpc-netty-shaded 版本 1.49.0 grpc-存根版本 1.49.0 grpc-服务版本 1.49.0

我看到这里报告了一些类似的错误(https://github.com/grpc/grpc-java/issues?page=4&q=UNAVAILABLE),但没有像这个错误这样的错误。

查看服务器的日志,但没有找到任何内容。

java grpc micronaut grpc-java
1个回答
0
投票

gRPC Java 不会对任何库生成的错误使用字符串“unavailable”(小写)。因此,这可能是您正在负载测试的服务生成的错误。您需要调试服务器。

© www.soinside.com 2019 - 2024. All rights reserved.