Alternative to Post-Commit in EDS

Anthony Molinaro anthonym at alumni.caltech.edu
Wed Apr 4 12:20:04 EDT 2012


On Wed, Apr 04, 2012 at 08:10:29AM -0600, Jon Meredith wrote:
> Riak does have a last modified field, but it's last modified by client so
> is deliberately left untouched on replication. Similarly the vclock is not
> incremented either (the vclocks/siblings from both sides are resolved using
> the two vclocks).

That's great, as I'd want to know on the far end when the client modified
it.

> There are no obvious mechanisms for doing what you want currently.  I'll
> think about options and somebody will get back to you.

Is it not possible to use the last modified filed in a Map/Reduce?  I've
not actually played with M/R in Riak yet (as I've only ever used it
previously as a Key/Value store).  I'll try to dig into it a bit today
but I assumed I could do something to map over all records in a bucket
checking last modified, and return the set modified since a certain
time (or better yet put them in a rabbit queue to be consumed by my
systems which will cache the data).

Alternatively, I could maybe have a second bucket representing the changed
keys, where each time a key is changed in the primary bucket, I could
add an entry to the other bucket.  I could then replicate that bucket
and just list keys on the remote side (maybe also deleting so subsequent
list keys only get changes, but then I think the replicator will replace
those keys, so I'd have to have some sort of bidirectional replication
for those buckets, sounds messy).

Anyway, hopefully someone will have an idea,

-Anthony

-- 
------------------------------------------------------------------------
Anthony Molinaro                           <anthonym at alumni.caltech.edu>




More information about the riak-users mailing list