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]
