On 22 Oct 2013, at 20:24, Jeremiah Peschka <jeremiah.pesc...@gmail.com> wrote:
> Hah! No worries at all. Thanks for the clarification. I'll rebuild. > > I wasn't sure if I needed to try to figure out (from a client perspective) if > I needed to use the CRDT syntax for 2.0 and newer and RpbCounterUpdateReq for > 1.4.x and earlier. Good to know that I can blindly proceed. Ok, this is a good question. And something we've been working on. 1.4 had counters, 2.0 has counters. Are they the same? Yes and no. In 2.0 we add bucket types. We decided that CRDTs in 2.0 should take advantage of bucket types. The reason being that there is no sensible way to merge across types (how do you merge a Map with a Set? (we thought of a few ways, but non were intuitive)) It comes down to the reason for CRDTs: no conflicts, no siblings. If we allow different types in the same bucket then you can create the same key with two different types, which means siblings types: just as complex as siblings. So, we restrict you to one CRDT type per bucket. But in 1.4 we didn't have this restriction. And we need to support 1.4 style counters. If you use the 1.4 API or store counters in the default (untyped) bucket using the 2.0 API then you're interoperable between versions. Sorry if it seems confusing. The point is that as a client developer you can access 1.4 counters through the 2.0 API by using the default bucket type OR continue support for the 1.4 API (or bolth.) Whichever you prefer. I realise this might be an information overload, so feel free to ask questions about anything I wasn't clear enough about. Cheers Russell > > --- > Jeremiah Peschka - Founder, Brent Ozar Unlimited > MCITP: SQL Server 2008, MVP > Cloudera Certified Developer for Apache Hadoop > > > On Tue, Oct 22, 2013 at 2:07 PM, Russell Brown <russell.br...@mac.com> wrote: > Yes! Sorry! > > We broke backwards compatibility during development. We merged the patch > today[1]. The develop branch works right now. It will get into the next pre > (or whatever the next tag is called.) > > Apologies again, it was easier for me to do the new work without thinking > about backwards compatibility, then re-add old counters when the 2.0 stuff > was done. > > Let me know if you have any more issues going forward, please. > > Cheers > > Russell > > [1] https://github.com/basho/riak_kv/pull/697 > On 22 Oct 2013, at 19:56, Jeremiah Peschka <jeremiah.pesc...@gmail.com> wrote: > > > I'm attempting to create a counter on Riak 2.0 built from the develop on > > Sunday. When I send a counter increment message using RpbCounterUpdateReq, > > I get the following back from Riak: > > > > Riak returned an error. Code '0'. Message: Error processing incoming > > message: error:undef:[{riak_kv_counter,supported, > > [],[]}, > > {riak_kv_pb_counter,process, > > 2, > > [{file, > > > > "src/riak_kv_pb_counter.erl"}, > > {line,114}]}, > > {riak_api_pb_server, > > process_message,4, > > [{file, > > > > "src/riak_api_pb_server.erl"}, > > {line,386}]}, > > {riak_api_pb_server, > > connected,2, > > [{file, > > > > "src/riak_api_pb_server.erl"}, > > {line,228}]}, > > {riak_api_pb_server, > > decode_buffer,2, > > [{file, > > > > "src/riak_api_pb_server.erl"}, > > {line,362}]}, > > {gen_fsm,handle_msg,7, > > [{file,"gen_fsm.erl"}, > > {line,505}]}, > > {proc_lib,init_p_do_apply,3, > > [{file,"proc_lib.erl"}, > > {line,239}]}] > > --- > > Jeremiah Peschka - Founder, Brent Ozar Unlimited > > MCITP: SQL Server 2008, MVP > > Cloudera Certified Developer for Apache Hadoop > > _______________________________________________ > > riak-users mailing list > > riak-users@lists.basho.com > > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com > > _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com