ETags vs Vectorclocks

Sean Cribbs sean at
Thu Nov 10 10:45:18 EST 2011

Yes, you should always send the vector clock. Our official clients do this
for you if you fetch the object before storing it, so it's mostly not an
issue.  The ETag is an MD5 hash of the vector clock, but cannot be turned
back into it because MD5 is a one-way hash function. The vector clock is
absolutely necessary in the request if you want your updates to converge
and resolve siblings rather than create siblings.

On Thu, Nov 10, 2011 at 5:54 AM, Piyush Purang <ppurang at> wrote:

> Hi Riak Team,
> I am a bit confused over etags and vector-clocks usage.
> If I can do conditional gets and puts using etags, why do I need
> Vector clocks or to ask it another way around if I am doing
> conditional gets and puts using etags then should I still be sending
> in the vector clock?
> What is the overlap in functionality and when is one better than the other?
> Cheers
> Piyush
> _______________________________________________
> riak-users mailing list
> riak-users at

Sean Cribbs <sean at>
Developer Advocate
Basho Technologies, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the riak-users mailing list