Uploaded image for project: 'ActiveMQ C++ Client'
  1. ActiveMQ C++ Client
  2. AMQCPP-487

CMS FailoverTransport Leaks Socket Descriptors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.6.0
    • 3.7.1, 3.8.0
    • Transports
    • None
    • Regression

    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.

      Attachments

        Activity

          People

            tabish Timothy A. Bish
            greenbean Kevin Urciolo
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: