I apologize, I was wrong about the timeouts -- they are configurable, either through the client, or in the advanced config on the Riak server(s).
The timeout gets set in the server here: https://github.com/basho/yokozuna/blob/2.1.1/src/yz_pb_admin.erl#L114 <https://github.com/basho/yokozuna/blob/2.1.1/src/yz_pb_admin.erl#L114> This means you can set the timeout in the PB client, as in riakc_pb_socket:create_search_index(Pid, Index, Schema, [{timeout, Timeout}, ...]) where timeout is in milliseconds (or the atom 'infinity'). cf. http://basho.github.io/riak-erlang-client/ <http://basho.github.io/riak-erlang-client/> The order of precedence is: 1. client-defined 2. riak config 3. default (45 seconds) -Fred > On Sep 2, 2015, at 8:13 AM, Fred Dushin <fdus...@basho.com> wrote: > > What is the return value you are getting from > rick_pb_socket:create_search_index? If it's ok, then the Solr cores should > have been created on all nodes. Otherwise, you should check the logs for > timeout messages, e.g., > > https://github.com/basho/yokozuna/blob/2.1.1/src/yz_index.erl#L443 > <https://github.com/basho/yokozuna/blob/2.1.1/src/yz_index.erl#L443> > > If you are getting timeouts, instead of sleeping, you should probably query > your cluster for the search index, along the lines of what is done in one of > the riak tests, e.g., > > https://github.com/basho/yokozuna/blob/2.1.1/riak_test/yz_pb.erl#L100 > <https://github.com/basho/yokozuna/blob/2.1.1/riak_test/yz_pb.erl#L100> > > If necessary, you might want to fold over all nodes in your cluster, to > ensure the index has been propagated to all nodes, and possibly use the > wait_for patterns used in the tests. > > Unfortunately, it looks like the internal timeout used to wait for > propagation of indexes to all nodes is not configurable -- it defaults to 45 > seconds: > > https://github.com/basho/yokozuna/blob/2.1.1/include/yokozuna.hrl#L134 > <https://github.com/basho/yokozuna/blob/2.1.1/include/yokozuna.hrl#L134> > > I hope that helps, > > -Fred > >> On Sep 2, 2015, at 6:27 AM, Hao <jusf...@163.com <mailto:jusf...@163.com>> >> wrote: >> >> Hi, >> >> What's the maximum seconds to wait after creating an search index and before >> setting it on the bucket? >> >> On my local machine, I only need to wait 1 second, sometimes I feel I don't >> need to wait at all, but on a production server which is basically zero >> traffic, I have to wait about 10 seconds(definitely over 5s) before I can >> set the index on a bucket. >> >> I am using riakc_pb_socket client. At first I thought something wrong with >> my function to "create" and "set" the index but then when I split the >> process, it's fine. So seems it's the interval in between that matters. >> >> I need to know how long is the maximum because I need to restore a lot of >> buckets and set index on them via a script. I don't care how long it takes >> but I don't want it to miss any index not being set on the bucket. >> >> The exact error on the console when I set the index on a bucket is >> >> <<"Invalid bucket properties: [{search_index,\n >> <<\"application_test_player_idx does not exist\">>}]">> >> >> >> >> >> Thanks, >> >> >> >> -- >> Hao >> >> >> >> _______________________________________________ >> riak-users mailing list >> riak-users@lists.basho.com <mailto:riak-users@lists.basho.com> >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com