> On 2012-03-09 18:38:19, Gordon Sim wrote:
> > In my view this is good enough to get started with. We may have some 
> > changes along the way based on findings from implementing above or below 
> > the line. I'm still unsure as to whether its worth accommodating the 
> > multi-enqueue message for example, but that can be revisted.

Agreed. We also need to think through how events will be recovered. Enqueued 
messages are logically dequeued, on recovery only the remaining enqueued 
records are recovered and passed back to the broker. However, as events have no 
logical destroy mechanism, they will _all_ have to be recoverd and returned to 
the broker (or a queue in the broker), and that could amount to a lot of 
pushing of obsolete status records.

Perhaps the right idea is to introduce some sort of optional key, and when this 
is supplied to a submitRecord() (previously submitStoreEvent()), it behaves 
logically like an LVQ, it logically replaces any previous record using the same 
key. The store would have to be aware of the key to be able to analyze and 
eliminate the older records on recovery though.


> On 2012-03-09 18:38:19, Gordon Sim wrote:
> > branches/asyncstore/cpp/src/qpid/broker/AsyncStore.cpp, line 1
> > <https://reviews.apache.org/r/4243/diff/4/?file=90822#file90822line1>
> >
> >     We probably don't have a need for AsyncStore.cpp, right?

Quite likely we won't. It allows the header to be compiled in the interim, but 
I imagine it will go away eventually.


- Kim


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4243/#review5792
-----------------------------------------------------------


On 2012-03-09 18:33:10, Kim van der Riet wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/4243/
> -----------------------------------------------------------
> 
> (Updated 2012-03-09 18:33:10)
> 
> 
> Review request for qpid, Andrew Stitcher, Alan Conway, Gordon Sim, Ted Ross, 
> and Steve Huston.
> 
> 
> Summary
> -------
> 
> The async store interface is intended to replace the current syncronous store 
> interface in broker/MessageStore.h. It presents a bidirectional async 
> interface, allowing async store operations which contain optional callbacks 
> to be queued up for processing by the store, and for the results of these 
> operations (if the callback is present in the operation) to be queued up for 
> action by the broker itself.
> 
> After a good deal of back-and-forth on the list, this is the latest iteration 
> on the async store interface. Thanks to Andrew and Gordon who have provided 
> much valuable feedback.
> 
> If this interface is accepted, it will need to be implemented in two phases:
> 
> 1. Broker wiring - the broker will need to be hooked into this interface 
> using async semantics. This could be a disrptive phase, as it would likely 
> break or disconnect the current sync interface. An async-sync adaptor would 
> also be developed to allow current syncronous stores to continue operating 
> under the new interface.
> 
> 2. Async store development - the current async store is not currently part of 
> the Qpid codebase as it was developed under an incompatible license (LGPL2). 
> A new async store would be developed under Apache, with any bits moved from 
> the old code base dual-licenced to Apache. (This will require some legal 
> checkups.)
> 
> Comments welcome.
> 
> Coordinating JIRA: https://issues.apache.org/jira/browse/QPID-3858
> 
> 
> Diffs
> -----
> 
>   branches/asyncstore/cpp/src/CMakeLists.txt 1291264 
>   branches/asyncstore/cpp/src/Makefile.am 1291264 
>   branches/asyncstore/cpp/src/qpid/broker/AsyncStore.h PRE-CREATION 
>   branches/asyncstore/cpp/src/qpid/broker/AsyncStore.cpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/4243/diff
> 
> 
> Testing
> -------
> 
> Compiles as written, but is not implemented.
> 
> 
> Thanks,
> 
> Kim
> 
>

Reply via email to