[ https://issues.apache.org/jira/browse/SSHD-1020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17161812#comment-17161812 ]
Lyor Goldstein commented on SSHD-1020: -------------------------------------- {quote} I think we should change the default value for the NIO2_READ_TIMEOUT to something much bigger to avoid those issues {quote} I am not opposed to increasing the value but I don't think it is a good idea, the question is how much is "good enough" - please bear in mind that the current value (~10:15 min) is quite a lot. If some code opens a session and does nothing for over 10 min. then it begs the question why did it need to open the session in the first place, Furthermore, let's say we increase it to 30 min. - who's to say that someone else won't raise an issue that it is not enough as well. {quote} The IDLE_TIMEOUT seems sufficient to me {quote} I disagree since the idle timeout mechanism can be disabled by setting it to a non-positive value. Furthermore, these are 2 different timeouts semantically even though they seem similar: *{{NIO2_READ_TIMEOUT}} - timeout for reading +anything+ from a socket - even a malformed packet *{{IDLE_TIMEOUT}} - timeout for relevant SSH traffic Bottom line: I recommend we leave things as they are - IMO SSH sessions are an expensive resource that should not be established and then unused. If anyone has some special behavior with long periods of inactivity - let them tweak the relevant timeouts according to their specific traffic behavior - that's what these values are there for. We should aim for the common use case rather than the proprietary. > SSH connections getting closed abruptly with timeout exceptions. > java.nio.channels.InterruptedByTimeoutException > ---------------------------------------------------------------------------------------------------------------- > > Key: SSHD-1020 > URL: https://issues.apache.org/jira/browse/SSHD-1020 > Project: MINA SSHD > Issue Type: Bug > Affects Versions: 2.2.0 > Reporter: Sivanagarajup > Priority: Blocker > Attachments: image-2020-06-26-15-18-58-509.png, > image-2020-06-26-15-22-17-259.png, server.log > > > Hi Team > SSH sessions are closing with timeout exceptions as mentioned below > {code:java} > 2020-06-18 03:07:11,942 DEBUG [org.apache.sshd.common.io.nio2.Nio2Session] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > exceptionCaught(Nio2Session[local=/10.1.2.3:8345, > remote=/20.24.16.108:41480]) caught InterruptedByTimeoutException[null] - > calling handler2020-06-18 03:07:11,942 DEBUG > [org.apache.sshd.common.io.nio2.Nio2Session] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > exceptionCaught(Nio2Session[local=/10.1.2.3:8345, > remote=/20.24.16.108:41480]) caught InterruptedByTimeoutException[null] - > calling handler2020-06-18 03:07:11,943 WARN > [org.apache.sshd.server.session.ServerSessionImpl] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > exceptionCaught(ServerSessionImpl[clientNBI@/20.24.16.108:41480])[state=Opened] > InterruptedByTimeoutException: null2020-06-18 03:07:11,943 DEBUG > [org.apache.sshd.server.session.ServerSessionImpl] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > exceptionCaught(ServerSessionImpl[clientNBI@/20.24.16.108:41480])[state=Opened] > details: java.nio.channels.InterruptedByTimeoutException at > sun.nio.ch.UnixAsynchronousSocketChannelImpl$1.run(UnixAsynchronousSocketChannelImpl.java:456) > [rt.jar:1.8.0_231] at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > [rt.jar:1.8.0_231] at > java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_231] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) > [rt.jar:1.8.0_231] at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) > [rt.jar:1.8.0_231] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_231] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_231] at java.lang.Thread.run(Thread.java:748) > [rt.jar:1.8.0_231] > 2020-06-18 03:07:11,945 DEBUG > [org.apache.sshd.common.session.helpers.SessionTimeoutListener] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > sessionException(ServerSessionImpl[clientNBI@/20.24.16.108:41480]) > InterruptedByTimeoutException: null2020-06-18 03:07:11,945 TRACE > [org.apache.sshd.common.session.helpers.SessionTimeoutListener] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > sessionException(ServerSessionImpl[clientNBI@/20.24.16.108:41480]) details: > java.nio.channels.InterruptedByTimeoutException at > sun.nio.ch.UnixAsynchronousSocketChannelImpl$1.run(UnixAsynchronousSocketChannelImpl.java:456) > [rt.jar:1.8.0_231] at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > [rt.jar:1.8.0_231] at > java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_231] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) > [rt.jar:1.8.0_231] at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) > [rt.jar:1.8.0_231] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_231] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_231] at java.lang.Thread.run(Thread.java:748) > [rt.jar:1.8.0_231] > 2020-06-18 03:07:11,946 DEBUG > [org.apache.sshd.common.session.helpers.SessionTimeoutListener] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > sessionClosed(ServerSessionImpl[clientNBI@/20.24.16.108:41480]) > un-tracked2020-06-18 03:07:11,946 DEBUG > [org.apache.sshd.server.session.ServerSessionImpl] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > close(ServerSessionImpl[clientNBI@/20.24.16.108:41480]) Closing > immediately2020-06-18 03:07:11,946 TRACE > [org.apache.sshd.common.session.helpers.SessionTimeoutListener] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > sessionClosed(ServerSessionImpl[clientNBI@/20.24.16.108:41480]) not > tracked2020-06-18 03:07:11,946 TRACE > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) closing > org.apache.sshd.common.util.closeable.ParallelCloseable@a0279422020-06-18 > 03:07:11,946 TRACE [org.apache.sshd.common.util.closeable.ParallelCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) pending > closeables: 22020-06-18 03:07:11,946 DEBUG > [org.apache.sshd.server.session.ServerConnectionService] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > close(ServerConnectionService[ServerSessionImpl[clientNBI@/20.24.16.108:41480]]) > Closing immediately2020-06-18 03:07:11,947 TRACE > [org.apache.sshd.common.util.closeable.ParallelCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) pending > closeables: 22020-06-18 03:07:11,947 DEBUG > [org.apache.sshd.server.channel.ChannelSession] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > close(ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]) Closing > immediately2020-06-18 03:07:11,947 DEBUG > [org.apache.sshd.server.channel.ChannelSession] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > close(ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]) prevent > sending EOF2020-06-18 03:07:11,947 DEBUG > [org.apache.sshd.common.channel.Window] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) Closing > Window[server/local](ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480])2020-06-18 > 03:07:11,947 DEBUG [org.apache.sshd.common.channel.Window] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) Closing > Window[server/remote](ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480])2020-06-18 > 03:07:11,948 TRACE > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) closing > org.apache.sshd.server.channel.ChannelSession$CommandCloseable@662e3d1e2020-06-18 > 03:07:11,948 TRACE > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) closing > org.apache.sshd.common.util.closeable.SequentialCloseable@da00d8f2020-06-18 > 03:07:11,948 TRACE > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) closing > GracefulChannelCloseable[ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]]2020-06-18 > 03:07:11,948 DEBUG > [org.apache.sshd.common.channel.AbstractChannel$GracefulChannelCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > close(ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480])[immediately=true] > processing2020-06-18 03:07:11,948 TRACE > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) closing > org.apache.sshd.common.util.closeable.Builder$1@73992fa72020-06-18 > 03:07:11,948 DEBUG [org.apache.sshd.server.session.ServerConnectionService] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > unregisterChannel(ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]) > result=ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]2020-06-18 > 03:07:11,948 DEBUG > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) signal > close complete2020-06-18 03:07:11,948 TRACE > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) closing > org.apache.sshd.common.util.closeable.ParallelCloseable@6a4880ff2020-06-18 > 03:07:11,948 TRACE [org.apache.sshd.common.util.closeable.ParallelCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) completed > pending: 02020-06-18 03:07:11,948 TRACE > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) closing > org.apache.sshd.common.util.closeable.Builder$1@7d1986652020-06-18 > 03:07:11,949 DEBUG [org.apache.sshd.server.channel.ChannelSession] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > closeShell(ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]) exit > code=-12020-06-18 03:07:11,949 DEBUG > [org.apache.sshd.server.channel.ChannelSession] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > onExit(ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]) code=-1 > message='' shell closed2020-06-18 03:07:11,949 TRACE > [org.apache.sshd.server.channel.ChannelSession] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > close(ChannelOutputStream[ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]] > SSH_MSG_CHANNEL_DATA) closing2020-06-18 03:07:11,949 TRACE > [org.apache.sshd.server.channel.ChannelSession] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > close(ChannelOutputStream[ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]] > SSH_MSG_CHANNEL_EXTENDED_DATA) closing2020-06-18 03:07:11,950 DEBUG > [org.apache.sshd.server.channel.ChannelSession] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) > doCloseImmediately(ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]) failed > (SshChannelClosedException) to close resources: > flush(ChannelOutputStream[ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]] > SSH_MSG_CHANNEL_DATA) length=0 - stream is already closed2020-06-18 > 03:07:11,950 DEBUG [org.apache.sshd.server.channel.ChannelSession] > (pool-7-thread-757) closeShell(ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]) exit > code=02020-06-18 03:07:11,950 TRACE > [org.apache.sshd.server.channel.ChannelSession] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) Suppressed > SshChannelClosedException) while close immediately resource(s) of > ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]: > flush(ChannelOutputStream[ChannelSession[id=0, > recipient=0]-ServerSessionImpl[clientNBI@/20.24.16.108:41480]] > SSH_MSG_CHANNEL_EXTENDED_DATA) length=0 - stream is already closed2020-06-18 > 03:07:11,951 DEBUG > [org.apache.sshd.common.util.closeable.SequentialCloseable] > (sshd-SshServer[6c96892e](port=8345)-nio2-thread-1) doClose(true) signal > close complete > {code} > Could you please help us what cause the issue and how to evaluate this? > > Thanks > Siva -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org