【发布时间】:2013-10-29 09:38:12
【问题描述】:
尽管配置文件应该可以正常工作,但在运行 riak start 后很快就会出现此错误。
【问题讨论】:
标签: riak
尽管配置文件应该可以正常工作,但在运行 riak start 后很快就会出现此错误。
【问题讨论】:
标签: riak
事实证明这是 Riak 错误消息的限制:如果您在配置完成加载之前尝试在您的设置上执行 riak-admin test,您将收到上述消息。
【讨论】:
我在自动化测试期间一遍又一遍地启动新的 Riak 集群时遇到了同样的问题。我的解决方案是,在我的测试夹具设置中,执行不断尝试将对象放入 Riak 存储桶并最终成功的代码。
当然,我的解决方案是 Erlang sn-p,但它通常可以代替任何 Riak 提供的管理/等待功能来解决这个问题。但由于我使用了许多不同的 Riak 版本,这里的这种技术似乎适用于所有版本。
wait_for_riak() ->
{ok, C} = riak:local_client(),
io:format("Waiting for Raik..."),
wait_for_riak(C),
io:format("and had a successful put.~n").
wait_for_riak(C) ->
Strawman = riak_object:new(<<"test">>, <<"strawman">>, []),
case C:put(Strawman, 1) of
ok ->
ok;
_Error ->
receive after 1000 -> ok end,
wait_for_riak(C)
end.
【讨论】:
像这样添加sleep 4:
brew install riak
riak start
sleep 4
riak-admin test
应该有帮助
【讨论】: