[
https://issues.apache.org/jira/browse/QPID-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Justin Ross updated QPID-2509:
------------------------------
Fix Version/s: 0.8
> Remove message staging from C++ broker
> --------------------------------------
>
> Key: QPID-2509
> URL: https://issues.apache.org/jira/browse/QPID-2509
> Project: Qpid
> Issue Type: Improvement
> Components: C++ Broker
> Reporter: Kim van der Riet
> Assignee: Kim van der Riet
> Fix For: 0.8
>
>
> Staging was originally implemented so that a message with content that
> exceeds available memory can be handled. The message is sent to disk in parts
> as it arrives, and is never fully resident in memory. However, the current
> implementation of staging is problematic:
> 1. The current architecture requires the entire message to be loaded into
> memory before it can be delivered. This renders the staging facility
> superfluous. In fact, it can lead to a problem where it is possible to
> enqueue messages much larger than the available memory, but never be able to
> dequeue it again.
> 2. The current implementation uses a BDB database to save the message. This
> is done under a transaction to ensure atomicity of the operation. This
> results in two issues:
> a) BDB is very slow for large messages, and gets exponentially slower as
> the message size grows.
> b) The database leaves behind a large number of log files that are not
> currently managed and tend to accumulate.
> The staging feature is still a valuable one, and the issue of reinstating
> staging should be revisited when the fundamental problem (1. above) has been
> corrected. The use of BDB is an implementation issue and can easily be
> changed for something more suitable.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]