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.
Reproducer attached
Debug traces are below.