> On Feb 5, 2015, at 10:55 AM, Mikhail Pustovalov <mpustova...@gmail.com> wrote:
> 
> Hello,
> I am using MapReduce just as a way to get multiple keys in one query (I 
> couldn't find a better way). My code used to work with Riak v.1.4 but now 
> when I try to run it against the latest version (2.0.4) mapred queries return 
> {error, notfound} for each key supplied.
> I have created a bucket type, put my keys inside a bucket in that type. 
> Simple 'put' and 'get' work fine. This line returns requested object:
> riakc_pb_socket:get(Pid,{<<"avs_n2">>,<<"avatars">>},<<145,3,100,41,46>>).
> This line though:
> riakc_pb_socket:mapred(Pid, 
> [{{<<"avs_n2">>,<<"avatars">>},<<145,3,100,41,46>>}],[{map, {modfun, 
> rc_mapred, map_kv_pairs}, none, true}]).
> returns this:
> {ok,[{0,[{error,notfound}]}]}
> Seems like mapred functions are unable to query using bucket types. Without 
> bucket types everything still works fine.
> Also mapred_bucket over a whole bucket also works fine.
> Please, advise. Is it possible to use mapred with newly introduced bucket 
> types when I want only specific keys and not the full scan of a bucket?

Hi Mikhail,

You’ll need to specify the bucket type as part of the bucket name when 
performing the map reduce, for example, for inputs for the “maps” bucket type 
and “users” bucket, you should use {<<“maps”>>, <<“users”>>} as the bucket name 
for riakc_pb_socket.

Thanks,
- Chris

Christopher Meiklejohn
Senior Software Engineer
Basho Technologies, Inc.
cmeiklej...@basho.com
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to