Done in svn r.1660430, QPID-6394.

Thanks for the feedback.

Kim
On 02/11/2015 01:57 PM, Justin Ross wrote:
I concur.  I think it's the right time.

On Wed, Feb 11, 2015 at 11:15 AM, Robbie Gemmell <[email protected]>
wrote:

This sounds reasonable enough to me. I dont think we really need a
formal vote on it though, its not a project release or procedural
issue, and whilst it is a behavioural change its not a major rework
(sounds like flipping a couple OFF/ON flags?) and isnt going to
require a much effort for anyone wanting the old behaviour. Putting it
out for discussion for a while as you have done seems sufficient to
me, and then proceeding if that discussion doesnt lead us in another
direction.

Robbie

On 10 February 2015 at 15:52, Kim van der Riet <[email protected]>
wrote:
Since qpid began, what is now called legacystore has been the default
linux
store for qpid builds. This is a per-queue circular disk buffer store.
This
store has some management difficulties, the most egregious of which is
managing the size of the disk buffer. It is easy for users to undersize
the
buffer, and when it gets full, the store refuses to write further records
until more space has been freed up. It is also easy for users to oversize
all their queues so as to not run into this problem, and thus wastefully
consume disk resources and massively increase the time necessary for
recovery.

Approximately a year ago work started on a new store called linearstore.
This store is forked from legacystore, but the disk buffers are no longer
fixed circular. Instead they are open-ended linear buffers, which take
their
files from a common Empty File Pool. As new files are needed, they are
taken
from the EFP and placed on the leading edge of the journal, while empty
files are returned to the EFP from the trailing end of the journal. If
the
EFP itself is emptied of files, the store will automatically create new
ones. This removes the need for the user to guess at their worst-case
scenarios to size a circular buffer.

The linearstore also adds the ability to store the journals for
particular
queues on different disk partitions. This allows some queues to use high
performance media (such as solid state drives) where necessary, while
other
queues can use regular disks.

It is my belief that the linearstore has now progressed to the point
where
it can now replace legacystore as the default store. Currently, both
stores
are represented in the cmake build. However, linearstore defaults to OFF
while legacystore defaults to ON. The reason for this is that both stores
cannot be present at the same time or the broker will attempt to load
them
both. Only one store at a time can be loaded in the broker, and having
both
results in undefined behavior. I propose to leave legacystore in place
for
the time being, but default the build to OFF, while linearstore will have
its default set to ON.

If you have any comments or concerns, please make them known. Otherwise
I'll
start a vote on this in a few days.

Kim

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to