Riak mapreduce函数map_object_value在erlang pb客户端返回空结果

时间:2012-10-05 13:26:14

标签: erlang mapreduce riak

我为我的项目使用riak erlang客户端,并且今天从master(客户端到1.3.1和服务器到1.2.0)更新riak和客户端库。一切正常,除了使用map-reduce返回空来获取多个实体。而不是通常的结果{ok, [...,{<stage_number>,<stage result>},...]}我获得{ok,[]}。回滚与客户端,一切正常。但是如果我使用旧的客户端和新的riak我在服务器日志中遇到了很多错误。

这是一个代码示例,其中BK是{Bucket, Key}对的列表,每对都与现有实体相关:

{ok, [{0,Result}]}=riakc_pb_socket:mapred(Pid, BK,[{map, {modfun, riak_kv_mapreduce, map_object_value},undefined, true}])

如何更改该行代码以使其正常工作?

1 个答案:

答案 0 :(得分:0)

对我而言,它运作良好:

(app@blinkov)10> riakc_pb_socket:mapred(Pid, BK,[{map, {modfun, riak_kv_mapreduce, map_object_value},undefined, true}]).
  {ok,[{0, 
      [<<131,108,0,0,0,16,104,2,100,0,9,112,111,115,116,95,116,
         101,120,116,109,0,0,...>>,
       <<131,108,0,0,0,16,104,2,100,0,9,112,111,115,116,95,
         116,101,120,116,109,0,...>>]}]}

还有1.3.1和1.2.0各自的版本。