[
https://issues.apache.org/jira/browse/AMQCPP-487?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kevin Urciolo updated AMQCPP-487:
---------------------------------
Description:
See the discussion by following the link below.
http://activemq.2283324.n4.nabble.com/CMS-3-6-Socket-Descriptor-Leak-With-Failover-td4667966.html
The FailoverTransport.cpp taskRunner includes the FailoverTransport and
CloseTransports tasks. The FailoverTransport is added first, and appears to
always be pending. This means the taskRunner always executes the iterate on
the FailoverTransport and the CloseTransports tasks are never run, which causes
a build up of socket descriptors (and threads).
We worked around the issue by adding the CloseTransportsTask to the taskRunner
first. This allows the CompositeTaskRunner to iterate the CloseTransportsTask
when there is work, and then switching back to iterating the FailoverTransport.
was:
See the discussion by following the link below.
http://activemq.2283324.n4.nabble.com/CMS-3-6-Socket-Descriptor-Leak-With-Failover-td4667966.html
The FailoverTransport.cpp taskRunner includes the FailoverTransport and
CloseTransports tasks. The FailoverTransport is added first, and appears to
always be pending. This means the taskRunner always executes the iterate on
the FailoverTransport and the CloseTransports tasks are never run, which causes
a build socket descriptors (and threads).
We worked around the issue by adding the CloseTransportsTask to the taskRunner
first. This allows the CompositeTaskRunner to iterate the CloseTransportsTask
when there is work, and then switching back to iterating the FailoverTransport.
> CMS FailoverTransport Leaks Socket Descriptors
> ----------------------------------------------
>
> Key: AMQCPP-487
> URL: https://issues.apache.org/jira/browse/AMQCPP-487
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Transports
> Affects Versions: 3.6.0
> Reporter: Kevin Urciolo
> Assignee: Timothy Bish
>
> See the discussion by following the link below.
> http://activemq.2283324.n4.nabble.com/CMS-3-6-Socket-Descriptor-Leak-With-Failover-td4667966.html
> The FailoverTransport.cpp taskRunner includes the FailoverTransport and
> CloseTransports tasks. The FailoverTransport is added first, and appears to
> always be pending. This means the taskRunner always executes the iterate on
> the FailoverTransport and the CloseTransports tasks are never run, which
> causes a build up of socket descriptors (and threads).
> We worked around the issue by adding the CloseTransportsTask to the
> taskRunner first. This allows the CompositeTaskRunner to iterate the
> CloseTransportsTask when there is work, and then switching back to iterating
> the FailoverTransport.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira