Pavel Moravec created QPID-5533:
-----------------------------------
Summary: [C++ broker] Linearstore to return any empty page to EPL
Key: QPID-5533
URL: https://issues.apache.org/jira/browse/QPID-5533
Project: Qpid
Issue Type: Improvement
Components: C++ Broker
Affects Versions: 0.24
Reporter: Pavel Moravec
Priority: Minor
Linear store should return to EPL _any_ empty file of a journal, not only the
oldest one (once it gets emptied). As there can be corner cases where journal
enqueue record sits in journal (almost) forever, while the journal gets next
enqueue+dequeue records in parallel. In particular, basic scenarios cover
message filters in consumers, priority queue (with message of lower priority
never consumed), or tpl journal with orphaned transaction (until QPID-5531 is
fixed).
One particular reproducer with priority queue:
qpid-config add queue testQueue --argument=x-qpid-priorities=10 --durable
qpid-send -a testQueue -m 1 --priority 1 --durable=yes
while true; do ./src/tests/qpid-send -a testQueue -m 5000 --priority 2
--durable=yes; ./src/tests/qpid-receive -a testQueue -m 5000
--print-content=no; qpid-stat -q; done
~/.qpidd/qls/jrnl/testQueue/ grows forever.
(I am fine to close it as WONTFIX if a potential fix would be too complex,
compared to the probability of the corner cases)
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]