SSLSocket is behaving very different since JDK11, this seems to be due to the introduction of TLS1.3, JEP332 and JDK-8196584.
The problem seems to be SSLSocket in JDK11 when it receives a SocketTImeoutException will close both the endpoints and the socket, thereby disallowing retries by the peer.
However, in JDK8 we have noticed that in such cases, the end-point is not closed, and allows further retries from the client.
This seems to be an incompatible behavior change and is seriously blocking our development efforts.
Debug traces are below.