qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pavel Moravec <pmora...@redhat.com>
Subject Weird behavior of flow_to_disk policy
Date Tue, 13 Dec 2011 15:33:43 GMT
Hi all,
I noticed a weird behavior of flow-to-disk policy. When the relevant queue is utilized over
its max-queue-count and when I am sending and receiving messages there, my sender gets "Enqueue
capacity threshold".

One particular scenario:
qpid-config add queue ToFillQueue --durable --max-queue-count=1000 --limit-policy flow-to-disk
--file-count 2 --file-size 2
./spout -c 1000 ToFillQueue
./spout -c 1000 ToFillQueue
(due to flow control, we have to break the program)
./drain -c 1000 ToFillQueue
./spout -c 1000 ToFillQueue
2011-12-13 16:15:50 warning Broker closed connection: 501, Enqueue capacity threshold exceeded
on queue "ToFillQueue". (JournalImpl.cpp:587)
2011-12-13 16:15:50 error session-busy: Session detached by peer
session-busy: Session detached by peer

qpid-tool shows:

    arguments              {u'qpid.file_size': 2, u'qpid.file_count': 2, u'qpid.max_count':
1000, u'qpid.policy_type': u'flow_to_disk'}
    altExchange            absent
    msgTotalEnqueues       2536
    msgTotalDequeues       1000
    msgTxnEnqueues         0
    msgTxnDequeues         0
    msgPersistEnqueues     0
    msgPersistDequeues     0
    msgDepth               1536

Interestingly, when I pump messages to the queue (without any draining) to fill the journals,
the exception is raised when exactly the same number of msgTotalEnqueues appears.

Playing with more scenarios, sometimes the msgTotalEnqueues is higher, sometimes even lower
than the total capacity of the queue(+its journals).

Almost the same result I achieve when sending durable messages (with the main difference that
all messages go to journal direclt, not storing any in memory).

Anyway, it seems for me that consuming a message from flow-to-disk queue (when the policy
is already applied) is wrongly implemented.

I noticed this on qpid 0.10 and 0.12 while 0.8 seems ok.

Kind regards,

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org

View raw message