Hi,
We are using Tyrus 1.10 and we noticed that some threads were not closed after SSL Handshake Timeout has occurred.
The SharedContainer cannot be used in our case due to technical limitations on our side.
We analyzed the code and observed that on SSLHandshakeTimeout the transport is not closed. Please see org.glassfish.tyrus.container.grizzly.client.GrizzlyClientSocket#_connect().
if (sslHandshakeFuture != null) {
try {
sslHandshakeFuture.get(timeoutMs, TimeUnit.MILLISECONDS);
} catch (ExecutionException e) {
throw new DeploymentException("SSL handshake has failed", e.getCause());
} catch (Exception e) {
throw new DeploymentException(String.format("Connection to '%s' failed.", requestURI), e.getCause());
}
}
Is this a normal behavior? If yes, could you help us understand to properly handle connections and avoid thread leaks?
Best regards!
Bianca