On 10/31/2009 01:26 PM, lroloson wrote:

I ran short test today with the broker log set to debug+, I queued 10
messages in direct persistent queue (the aet_q) and used the windows client
to get them. Same results as before, messages were delivered - but qpid-tool
still shows them in the queue. I shutdown the broker and saved the log as
qpidd.log.windows.

I restarted the broker, and a the linux client, got the 10 messages and
verified they were dequeued using the qpid-tool. I saved the broker log
again as qpidd.log.linux. The two log files are in a single tar file here;
http://files.me.com/lroloson/q1gkvs

The code that I am running is essentially the direct listener code, with the
IP and the queue name changed. Compiles in both windows and linux. But only
the linux client appears to be working as expected.

The windows client is sending a TxSelect, making the session transactional. Thus any accepts will not actually dequeue until the transaction is committed. As the session is ended without a commit, the transaction including all the accepts, is rolled back and the messages are never dequeued.

Do you have an explicit call to txSelect() on the session for the windows case? I can't think how else that could get sent.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to