basho / riak_dt

Convergent replicated datatypes in Erlang
Apache License 2.0
353 stars 70 forks source link

how is dvv related to riak_dt? [JIRA: RIAK-2469] #120

Closed liuzhen closed 8 years ago

liuzhen commented 8 years ago

is riak_dt currently using the vclocks mentioned in

http://docs.basho.com/riak/latest/theory/concepts/context/

then what about the change from vclocks to dvv introduced in riak 2.0?

russelldb commented 8 years ago

No, riak_dt uses riak_dt_vclock. Riak's DVV is to enable action-at-a-distance or per-vnode-vesion-vectors. riak_dt isn't a distributed system and has no opinion about that. When riak_dt is used in riak there are actually two version vectors, the wrapping riak_object, and the riak_dt data type embedded one. But users of the riak_dt library have to decide for themselves who the actors in their system are and how to manage that size of the version vector.

In response to your earlier question about LWW and version vectors…there is a causal LWW register in a the rdb/smaller-map branch. We need dots/causal contexts for LWW registers to support the reset-remove semantic.

I hope that helps. If you want to talk about this stuff, and you're around, then hop onto the #riak channel on freenode IRC, or feel free to ask questions on the riak-mailing list http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com. These github issues are really meant for issues, not general discussion/questions. I'm happy to have discussion/questions but due to the link to our internal issues system this is not the place.

Going to close this issue.

Cheers

Russell