Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-6505

Auto transports can lead to high cpu usage and failed connections under high load

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.14.1
    • 5.15.0, 5.14.2
    • Broker
    • None

    Description

      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)

      Attachments

        Activity

          People

            cshannon Christopher L. Shannon
            cshannon Christopher L. Shannon
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: