qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Moravec (JIRA)" <j...@apache.org>
Subject [jira] [Created] (QPID-5533) [C++ broker] Linearstore to return any empty page to EPL
Date Sat, 01 Feb 2014 15:16:08 GMT
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

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message