Skip to content
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

JMX client doesn't fully consume heartbeat input stream, leaving sockets in CLOSE_WAIT state #30758

Closed
idlewis opened this issue Feb 11, 2025 · 0 comments · Fixed by #30746
Closed
Assignees
Labels
release bug This bug is present in a released version of Open Liberty

Comments

@idlewis
Copy link
Member

idlewis commented Feb 11, 2025

The Liberty JMX client starts a background thread to act as a heartbeat, and to poll the server for notifications. The client currently assumes that the heartbeat end point returns no data, when in fact it returns the class name of the JMX server class as a string.
As the input stream containing this data is not read, and the stream is not closed, the underlying socket has to wait for the JVM to eventually perform cleanup. In the meantime, the socket can be left in close wait state.

RESTMBeanServerConnection should fully consume its input streams here:

@idlewis idlewis added the release bug This bug is present in a released version of Open Liberty label Feb 11, 2025
@idlewis idlewis self-assigned this Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release bug This bug is present in a released version of Open Liberty
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant