Keith Wall created QPID-7435:
--------------------------------
Summary: Avoid BDB fetching empty database entry during message
instance recovery
Key: QPID-7435
URL: https://issues.apache.org/jira/browse/QPID-7435
Project: Qpid
Issue Type: Improvement
Components: Java Broker
Reporter: Keith Wall
Fix For: qpid-java-6.1
We represent message instances in BDB as a tuple comprising a key (formed of
queue id and message id) and a dummy record (formed of 1 byte). The dummy
record serves no purpose other than to fulfil the contract with JE's
Database#put() which cannot accept a null entry value.
The JE API has a mechanism to instruct a cursor operations to retrieve only the
key values. We can exploit this feature when recovering message instances to
suppress the retrieval of the dummy entry.
On my box, this improves (synchronous) recovery time for a store containing 4
queues with 2,000,000 messages from about 1min to about 30seconds. This should
benefit any user who uses BDB and has a large store.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]