[
https://issues.apache.org/jira/browse/QPID-5480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13876985#comment-13876985
]
Kim van der Riet commented on QPID-5480:
----------------------------------------
Examining the attached journal (QPID-5480.tar.gz), it seems that the problem in
this case is that files are being returned to the Empty File Pool (efp) too
soon in some cases. The test for allowing a file to be returned needs to be
revised.
In particular:
# When the enqueue records of a block being dequeued transactionally are split
between two journal files;
# The transactional dequeue block which dequeue these enqueue records follows
the enqueue block in the second file;
# The transaction is open (ie prepared, but not committed) and has no commit in
the second journal file;
# All previous records in the first file are fully dequeued
then the enqueued records are logically locked until the open transaction is
committed. However, the store is allowing the first journal file to be returned
to the EFP, and the first locked records are being lost to the recovery process.
> [linearstore] Recovery of store failure with "JERR_MAP_NOTFOUND: Key not
> found in map." error message
> -----------------------------------------------------------------------------------------------------
>
> Key: QPID-5480
> URL: https://issues.apache.org/jira/browse/QPID-5480
> Project: Qpid
> Issue Type: Bug
> Components: C++ Broker
> Reporter: Kim van der Riet
> Assignee: Kim van der Riet
> Attachments: QPID-5480.tar.gz
>
>
> While running a qpid-txtest soak test, a store was encountered which could
> not be recovered. The broker stopped with the following error message:
> {color:blue}{{\[Broker\] critical Unexpected error: Error commitjexception
> 0x0b01 wmgr::dequeue() threw JERR_MAP_NOTFOUND: Key not found in map.
> (rid=0x3e4f0)
> (/home/kpvdr/RedHat/qpid/cpp/src/qpid/linearstore/TxnCtxt.cpp:55)}}{color}
> The store in question is attached. An additional similar error message is
> seen during store shutdown.
> To reproduce:
> 1. Expand the store into a store directory. Note that the store directory is
> the one that contains the *{{qls}}* directory in the attached archive, and is
> supplied to the broker using the *{{--store-dir}}* parameter.
> 2. Start the broker so as to recover the store in the store directory:
> {color:blue}{{./qpidd --load-module linearstore.so -m no --auth no
> --default-flow-stop-threshold 0 --default-flow-resume-threshold 0
> --default-queue-limit 0 --store-dir <path-to-store-dir> --log-enable info+
> --truncate no}}{color}
> The store does not recover, and the broker exits with the above error message.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]