Сегодня перестала отправлятся почта с сервера. Проблема оказалась в том что fixed thread pool оказался забит задачами, причем текущие активные задачи просто зависли на методе java.net.SocketInputStream.socketRead0(и висели судя по логам уже 20 часов).
Есть подозрение что была проблема с сетью и сокеты позависали при создании соединения.
Наблюдал подобное на другом проекте, тогда пытались пофиксить это установкой setKeepAlive, после этого проблема не наблюдалась, но т.к. проблема воспроизводится редко и сложно(простое отключение сети не помогает, сокет коректно валится), не могу утверждать что именно это помогло.
Stacktrace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:152)
java.net.SocketInputStream.read(SocketInputStream.java:122)
sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
sun.security.ssl.InputRecord.readV3Record(InputRecord.java:554)
sun.security.ssl.InputRecord.read(InputRecord.java:509)
sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:507)
com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
javax.mail.Service.connect(Service.java:295)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
Может кто сталкивался и успешно решил эту проблему, а то в интернете в основном советуют перезагрузить JVM или закрыть сокет(к которому, по понятным причинам доступа нет).