0

私は自分のプロジェクトに riak erlang クライアントを使用しており、現在、riak とクライアント ライブラリをマスターから更新しています (クライアントを 1.3.1 に、サーバーを 1.2.0 に)。map-reduce return empty で複数のエンティティをフェッチすることを除いて、すべてが機能します。通常の結果の代わりに、 が{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}])

そのコード行を変更して機能させるにはどうすればよいですか?

4

1 に答える 1

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 のそれぞれのバージョンを使用します。

于 2012-11-01T02:50:38.247 に答える