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

Client / NetworkBridge Connection blocks all communication at the transport when producer-flow-control reached

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Abandoned
    • 5.4.2
    • None
    • None
    • None

    Description

      When producer-flow-control throttles a producer, the entire connection for the client, or network bridge, can be blocked until space clears.

      A unit test will be attached that demonstrates this situation with any of the following types of messaging:

      • PERSISTENT, transacted
      • NON-PERSISTENT, non-transacted
      • NON-PERSISTENT, transacted

      PERSISTENT, non-transacted messages don't have this problem. Internally, it seems that any time messages are sent asynchronously across the transport (i.e. isResponseRequired() == false), the problem occurs.

      The expected operation is for producers to the destination to block on send() and all other operations across the same connection to continue normally.

      Attachments

        1. TestProducerFlowControl.java
          9 kB
          Arthur Naseef
        2. TestProducerFlowControl.java
          11 kB
          Arthur Naseef
        3. AMQ-3875-testcase.patch
          0.8 kB
          Christian Posta

        Issue Links

          Activity

            People

              ceposta Christian Posta
              artnaseef Arthur Naseef
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: