Jonathan Robie (JIRA) wrote:
Messages get lost between credit allocation and ------------------------------------------------

                 Key: QPID-783
                 URL: https://issues.apache.org/jira/browse/QPID-783
             Project: Qpid
          Issue Type: Bug
          Components: C++ Client, Java Client, Python Client, Ruby Client
            Reporter: Jonathan Robie


As I understand it, a client should receive all messages sent after it 
subscribes and allocates credit.

Currently, the C++ client sometimes loses messages sent between the time credit 
is allocated and the time that dispatcher.listen() is called. I believe this is 
wrong behavior. This bug has been observed in Listener.cpp for both fanout and 
direct. We suspect this problem exists also in at least the Python client.

Correct behavior, as I understand it, is to queue all messages sent after 
credit is allocated.

Jonathan
Jonathan,

I think the last thing you should do when setting up a subscription is to set the credits. I noticed in the Python examples that the credits are set before queue.listen is called. If you call queue.listen before setting credits, you should never lose messages. I assume this is the same for the C++ API.

-Ted

Reply via email to