Hi All,
We are using geode-1.1.0 and for some reason we are getting SSLException from
org.apache.geode.internal.tcp.TCPConduit#run after invocation of
socketCreator.configureServerSSLSocket(othersock):
[severe 2017/07/21 22:49:02.993 UTC <P2P Listener Thread
tcp:///10.112.69.135:20001> tid=0x22] SSL Error in connecting to peer
/10.112.69.135[36,932].
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at
sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)
at sun.security.ssl.InputRecord.read(InputRecord.java:527)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at
com.gemstone.gemfire.internal.SocketCreator.configureServerSSLSocket(SocketCreator.java:1077)
at com.gemstone.gemfire.internal.tcp.TCPConduit.run(TCPConduit.java:624)
at java.lang.Thread.run(Thread.java:745)
As we don't have specific SSLException case in catch blocks it goes through
generic
} catch (Exception e) {
if (!stopped) {
...
case where it seems we are not doing anything for this specific error.
Afterwards if socket is not stopped and is closed, it tries to reopen it,
otherwise just loops again. In 2nd case code is not performing socket.close();
On the other hand, it is not breaking from loop as well like it is done if
SSLException was thrown from
othersock = socket.accept();
So just want to clarify if all this is expected behavior or there is some
problem in this portion of code handling SSLException?
And 2nd query - should not we have socket timeout configured before the call of
configureServerSSLSocket to avoid any blocking in TCPConduit.run()?
Thanks,
Vahram.