Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-7720

Java client hangs when publishing to C++ broker queue with flow control activated

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • qpid-java-6.1.1
    • None
    • JMS AMQP 0-x
    • None
    • Patch

    Description

      This is probably the same as QPID-4073.

      When a C++ flow controlled queue is overfull, the broker stops sending acknowledgements to client commands. This causes the internal command queue of the client to become full.

      In this situation, the client sends a flush request, then waits for the internal queue to free some space. Unfortunately, the broker will answer to the flush request with an empty response, and will not send anything else when the queue becomes underfull again. Thus the client dies with a timeout.

      I suggest a patch which sends again the flush command every 500ms, up to the configured timeout. If the queue becomes underfull within the timeout, the broker will answer with a non-empty response, and the client will restart processing.

      Attachments

        1. QPID-7720.patch
          1 kB
          Flavio Pellanda

        Activity

          People

            Unassigned Unassigned
            flavio Flavio Pellanda
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: