Hi Paul,

CRDTs are stored as a normal object in Riak, although in a format that
allows Riak to resolve conflicts automatically, meaning that the normal
restrictions on object size applies. As secondary indexes do not have to be
related to the data in any way, Riak would not be able to determine how
secondary indexes are to be resolved, and secondary indexes are therefore
not supported for CRDTs.

If you need to query CRDTs I would instead recommend enabling Riak Search
2.0 as this supports querying CRDTs through Solr.

Best regards,

Christian


On Wed, Mar 26, 2014 at 6:39 AM, Paul Walk <[email protected]> wrote:

> I'm still a little unclear on the relationship between CRDT, K/V objects
> and buckets. I understand that bucket_types add a third level of
> name-spacing, so I expected that so long as I used a bucket_type
> consistently I would be able to use CRDT objects with 2i indexes. However,
> using the Ruby client, I find that while this successfully returns my
> previously saved CRDT map called 'my_map_object_key':
>
>     map =
> Riak::Crdt::Map.new(my_bucket,'my_map_object_key','my_map_bucket_type')
>
> its key is not recognised in the same bucket, using the same bucket_type.
> So this:
>
> puts my_bucket.get_index('$key','0'..'zzzzzzzz',{:bucket_type=>
> my_map_bucket_type}).size
>
> returns '0'.
>
> I suspect I am misunderstanding something fundamental - can anyone advise?
>
> Thanks,
>
> Paul
>
> -------------------------------------------
> Paul Walk
> http://www.paulwalk.net
> -------------------------------------------
>
>
>
>
>
>
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to