New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make sure boss EventLoopGroup
s are terminated on startup fail…
#2288
Conversation
Related: https://stackoverflow.com/q/58891320/55808 Motivation: When a server fails to start up, its boss `EventLoopGroup` is not terminated, leaving a dangling non-daemon thread which prevents a JVM process from terminating itself. Modifications: - Make sure the boss `EventLoopGroup`s are always terminated by keeping the boss groups created by `Server`. Result: - No more dangling non-daemon threads on server startup failure
Codecov Report
@@ Coverage Diff @@
## master #2288 +/- ##
===========================================
- Coverage 73.71% 73.7% -0.01%
- Complexity 9897 9900 +3
===========================================
Files 871 871
Lines 37981 37982 +1
Branches 4655 4655
===========================================
Hits 27996 27996
+ Misses 7607 7606 -1
- Partials 2378 2380 +2
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Co-Authored-By: Anuraag Agrawal <anuraaga@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
EventLoopGroup
s are terminated on startup failureEventLoopGroup
s are terminated on startup fail…
Thanks for reviewing! |
Special thanks to @magnuschatt for reporting this issue via StackOverflow - https://stackoverflow.com/questions/58891320/how-to-make-armeria-exit-on-an-address-already-in-use-error |
…e#2288) Related: https://stackoverflow.com/q/58891320/55808 Motivation: When a server fails to start up, its boss `EventLoopGroup` is not terminated, leaving a dangling non-daemon thread which prevents a JVM process from terminating itself. Modifications: - Make sure the boss `EventLoopGroup`s are always terminated by keeping the boss groups created by `Server`. Result: - No more dangling non-daemon threads on server startup failure
Related: https://stackoverflow.com/q/58891320/55808
Motivation:
When a server fails to start up, its boss
EventLoopGroup
is notterminated, leaving a dangling non-daemon thread which prevents a JVM
process from terminating itself.
Modifications:
EventLoopGroup
s are always terminated by keepingthe boss groups created by
Server
.Result: