question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

UNAVAILABLE: HTTP/2 error code: NO_ERROR Received Goaway

See original GitHub issue

What version of gRPC-Java are you using?

1.30.2

What is your environment?

Linux xxxxx016 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux java version “1.8.0_91” Java™ SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot™ 64-Bit Server VM (build 25.91-b14, mixed mode)

What did you expect to see?

What did you see instead?

 io.grpc.StatusRuntimeException: UNAVAILABLE: HTTP/2 error code: NO_ERROR
Received Goaway
	at io.grpc.Status.asRuntimeException(Status.java:533)
	at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:460)
	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:426)
	at io.grpc.internal.ClientCallImpl.access$500(ClientCallImpl.java:66)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:689)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$900(ClientCallImpl.java:577)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:751)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:740)
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Steps to reproduce the bug

The java grpc client connects to the go grpc service (service grpc version 1.27.1). The above exception occurs. The service uses container deployment and nginx for load balancing. There is a high probability of this abnormal situation. Of course, we are also working hard to find a solution, but there is no progress. Hope to get your guidance and help. I will be very grateful.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:20 (11 by maintainers)

github_iconTop GitHub Comments

1reaction
ejona86commented, Jul 30, 2021

I think we can change the workaround to only trigger if the HTTP/2 error-code is indicates an error (anything but NO_ERROR). That would workaround the Netty problem but allow transparent retries to function on servers that use abrupt GOAWAYs.

0reactions
ejona86commented, Jul 30, 2021

Filed https://trac.nginx.org/nginx/ticket/2224 for nginx’s lack of double-GOAWAY.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to handle HTTP/2 GOAWAY with HttpClient?
1 Answer 1 ... A server is entitled to close connections at any time, for any reason. In the HTTP/2 GOAWAY frame there...
Read more >
Update to gRPC logs GOAWAY with error code ... - GitLab
Why am I receiving a GOAWAY with error code ENHANCE_YOUR_CALM? A server sends a GOAWAY with ENHANCE_YOUR_CALM if the client sends too many ......
Read more >
Getting "all SubConns are in TransientFailure" sending to ...
This error means the connection to your server is down for some reason. Can you look at the client side logs and see...
Read more >
Error Codes - Grafana k6
1611 to 1629: HTTP/2 GoAway errors with the value of the specific HTTP/2 error code added to 1611. 1630: A general HTTP/2 stream...
Read more >
Common IRS Where's My Refund Questions and Errors
If you received Tax Topic 151 error code, the IRS can't really help you ... The secondary TIN may be required if the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found