Uploaded image for project: 'AMQ Interconnect'
  1. AMQ Interconnect
  2. ENTMQIC-2202

Q2 stall due to incorrect msg buffer ref count decrement on link detach

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.4.1.GA
    • 1.4.0.GA
    • Qpid Dispatch Router
    • None
    • Release Notes
    • Hide
      There existed a defect in which on rare occasions, large, multi-frame messages sent using multicast distribution to multiple consumers may not be completely delivered, resulting in a hang of the link transferring the message. This is fixed in the current release.
      Show
      There existed a defect in which on rare occasions, large, multi-frame messages sent using multicast distribution to multiple consumers may not be completely delivered, resulting in a hang of the link transferring the message. This is fixed in the current release.
    • Documented as Resolved Issue
    • IC-2019-05

    Description

      Very rarely the test_40_drop_rx_client_multicast_large_message (system_tests_edge_router.RouterTest) will hang.

      On examination it turns out that very large mcast message is stuck in the Q2 holdoff=true state.

      The message buffers are supposed to be discarded as the senders advance. However in this case all senders are at the end of the buffer list having sent all data.

      The refcounts of the preceding buffers are all stuck at 1 - this is incorrect as the refcount should've hit 0 and the buffers should be freed.

      It turns out that a sender was detached after the buffer refcounts were incremented for it, but before the msg's cursor was set. This prevented the cleanup code from walking the list of unsent buffers decrement the refcounts on detach.

      Kudos to Fernando Giorgetti for finding this issue.

      Upstream JIRA - https://issues.apache.org/jira/browse/DISPATCH-1330

      Attachments

        Activity

          People

            kgiusti@redhat.com Kenneth Giusti
            gmurthy@redhat.com Ganesh Murthy
            Fernando Giorgetti Fernando Giorgetti
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: