qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kim van der Riet (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Created: (QPID-2509) Remove message staging from C++ broker
Date Thu, 15 Apr 2010 15:42:48 GMT
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


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 contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Mime
View raw message