You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2016/09/23 16:23:20 UTC
[jira] [Assigned] (QPID-7435) Avoid BDB fetching empty database
entry during message instance recovery
[ https://issues.apache.org/jira/browse/QPID-7435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Keith Wall reassigned QPID-7435:
--------------------------------
Assignee: Keith Wall
> 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
> Assignee: 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org