qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robbie Gemmell <robbie.gemm...@gmail.com>
Subject Re: Proposal: Replace legacystore with linearstore as the default store for qpid linux builds
Date Wed, 11 Feb 2015 16:15:36 GMT
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 <kim.vdriet@redhat.com> 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: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>

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


Mime
View raw message