Alternative to Post-Commit in EDS

Anthony Molinaro anthonym at
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

> 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 Molinaro                           <anthonym at>

More information about the riak-users mailing list