qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kim van der Riet <kim.vdr...@redhat.com>
Subject Re: Proposal: Replace legacystore with linearstore as the default store for qpid linux builds
Date Tue, 17 Feb 2015 16:04:20 GMT
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 <robbie.gemmell@gmail.com>
> 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 <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
>>
>>


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


Mime
View raw message