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 2017/03/14 17:29:41 UTC

[jira] [Commented] (QPID-7435) Avoid BDB fetching dummy single byte database entries during message instance recovery

    [ https://issues.apache.org/jira/browse/QPID-7435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15924634#comment-15924634 ] 

Keith Wall commented on QPID-7435:
----------------------------------

Reopened to back port to v6.0.x.

> Avoid BDB fetching dummy single byte database entries 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.0.7, 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.15#6346)

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