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.

Http2ConnectionHandler#goAway should not initiate channel graceful shutdown

See original GitHub issue

Introduced by #9094, in Http2ConnectionHanlder, when there is no active stream, doing GO_AWAY with error code NO_ERROR will immediately shut down the channel once the GO_AWAY frame is sent. This breaks higher layer implementation’s logic of graceful shutdown, such as in gRPC. Now that the GOAWAY(<max id>), PING, PING(ACK), GOAWAY(<real id>) approach is left for higher layer implementations, graceful shutdown should not be initiated in Http2ConnectionHandler#goAway(...).

/cc @Scottmitch @ejona86 @carl-mastrangelo @dapengzhang0

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:8 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
normanmaurercommented, Jun 7, 2019

@voidzcy thanks a lot for verify the fix 😃

0reactions
voidzcycommented, Jun 7, 2019

@normanmaurer I just pulled 4.1.37.Final-SNAPSHOT/ Fri Jun 07 21:05:54 UTC 2019 to build gRPC and it succeeded.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Graceful shutdown · Issue #528 · http-rs/tide - GitHub
It's critical from a production standpoint that a load balancer or swarm manager can initiate a controlled or graceful shutdown. Any requests ...
Read more >
Implementing Graceful Shutdown in Go | RudderStack Blog
This post details the implementation of graceful shutdown on Rudder ... Go channels do not work in a broadcast way, only one go...
Read more >
Graceful shutdown in Go http server | by Sam Wang - Medium
The above code, 1st line in main creates a done channel and it can only accept os.Signal type with 1 capacity, then 2nd...
Read more >
Channels and Graceful shutdown deadlock - Stack Overflow
dont for loop on a channel with a default case. Just read from it and let it ... Signaling should just do signaling,...
Read more >
How to handle signals with Go to graceful shutdown HTTP ...
We can create signal channel using, and use it to notify on incoming ... This function should start protocol-specific graceful shutdown, ...
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