[
https://issues.apache.org/jira/browse/ARTEMIS-497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15253471#comment-15253471
]
ASF GitHub Bot commented on ARTEMIS-497:
----------------------------------------
GitHub user bgutjahr opened a pull request:
https://github.com/apache/activemq-artemis/pull/480
ARTEMIS-497 Prevent 10 second stalls when closing an SSL connection
When NettyConnection.classSSLAndChannel is called from the EventLoop,
waiting for the SSL handler to close will always take 10 seconds, because
the sslCloseFuture is from a task that is scheduled with the same
EventLoop. But since the EventLoop is a single threaded executor, it
will only be executed after the current task is completed.
Due to the single threaded nature of the EventLoop, all blocking calls
should be avoided. Therefore, I removed both awaitUninterruptibly calls
if the closing happens within an event loop tasks. As a side effect,
the annoying server log timeout warnings will go away.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/bgutjahr/activemq-artemis close-stalls
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/480.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #480
----
commit 178b6ae3c5e28eb77c4389f8d61e532363875f17
Author: Bernd Gutjahr <[email protected]>
Date: 2016-04-22T06:22:41Z
ARTEMIS-497 Prevent 10 second stalls when closing an SSL connection
When NettyConnection.classSSLAndChannel is called from the EventLoop,
waiting for the SSL handler to close will always take 10 seconds, because
the sslCloseFuture is from a task that is scheduled with the same
EventLoop. But since the EventLoop is a single threaded executor, it
will only be executed after the current task is completed.
Due to the single threaded nature of the EventLoop, all blocking calls
should be avoided. Therefore, I removed both awaitUninterruptibly calls
if the closing happens within an event loop tasks. As a side effect,
the annoying server log timeout warnings will go away.
----
> Sending a message sporadically stalls for ~10 seconds when SSL is enabled
> -------------------------------------------------------------------------
>
> Key: ARTEMIS-497
> URL: https://issues.apache.org/jira/browse/ARTEMIS-497
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 1.2.0
> Reporter: Bernd Gutjahr
>
> When SSL is enabled in the NettyConnector configuration, we have sporadic
> stalls for 10 seconds in message sends. The number of stalls seem to depend
> on the current workload. We have seen it happening multiple times per minute,
> but other cases with only a few stalls per hour.
> Every time we have a stall, there is also this log entry in the server
> logfile:
> AMQ212040: Timed out waiting for netty ssl close future to complete
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)