[
https://issues.apache.org/jira/browse/AMQ-6505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15659776#comment-15659776
]
ASF subversion and git services commented on AMQ-6505:
------------------------------------------------------
Commit 7e648d512d06508d85f6a4e111d9adbdb9e33a82 in activemq's branch
refs/heads/master from [~cshannon]
[ https://git-wip-us.apache.org/repos/asf?p=activemq.git;h=7e648d5 ]
https://issues.apache.org/jira/browse/AMQ-6505
Fixing the auto transport protocol detection so that the byte buffer
that captures the initial bytes for detection is not shared across
threads. This was causing failed connections under high load and high cpu
usage under NIO
> Auto transports can lead to high cpu usage and failed connections under high
> load
> ---------------------------------------------------------------------------------
>
> Key: AMQ-6505
> URL: https://issues.apache.org/jira/browse/AMQ-6505
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.14.1
> Reporter: Christopher L. Shannon
> Assignee: Christopher L. Shannon
>
> There's an issue with the auto transports that can cause failed connections
> and very high cpu usage when there is a high number of concurrent connections
> attempted at the same time. I noticed this primarily under load testing the
> auto+nio+ssl transport. After some debugging, it turns out the issue is the
> ByteBuffer that is used to capture the initial bytes for protocol detection.
> The buffer should be local per thread and not shared but by mistake it was
> made a class level variable so under high load and contention the buffer can
> be manipulated by more than one thread causing failures and high cpu load
> (especially under NIO)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)