Affects Version/s: None
Fix Version/s: None
Component/s: C++ Broker
While running a qpid-txtest soak test, a store was encountered which recovered correctly, but upon completion of the test, the following error message was discovered in the broker log:
jexception 0x0402 AtomicCounter::addLimit() threw JERR_JNLF_FILEOFFSOVFL: Attempted to increase submitted offset past file size. (JournalFile::submittedDblkCount)
This message was found four times. The store in question is attached. To reproduce:
1. Expand the store into the store directory. Note that the store directory is the one that contains the qls directory, 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:
./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
3. Run the test client to complete the test:
./qpid-txtest --messages-per-tx 14 --tx-count 1000000 --total-messages 981 --size 390 --queues 11 --check yes --init no --transfer no
The test passes ok. Examine the output from the broker to find the error messages above.
The cause must be analyzed and a fix found for what is probably a corner-case error in the recovery logic.