Hi,

We are experimenting an issue related to Zk Timeout

Stacktrace is :

ERROR 19 juin 2018 06:24:07,152 - h.concurrent.ConcurrentService:67   -
Erreur dans l'attente de la fin de l'exécution d'un thread
ERROR 19 juin 2018 06:24:07,152 - h.concurrent.ConcurrentService:68   -
org.apache.solr.common.SolrException:
java.util.concurrent.TimeoutException: Could not connect to ZooKeeper
xxx.xxx.xxx.xxx  :2181 within 10000 ms
ERROR 19 juin 2018 06:24:07,152 -          api.batch.Lanceur:98   -
org.apache.solr.common.SolrException:
java.util.concurrent.TimeoutException: Could not connect to ZooKeeper
xxx.xxx.xxx.xxx  :2181 within 10000 ms
java.util.concurrent.ExecutionException:
org.apache.solr.common.SolrException:
java.util.concurrent.TimeoutException: Could not connect to ZooKeeper
xxx.xxx.xxx.xxx:2181 within 10000 ms
 at java.util.concurrent.FutureTask.report(FutureTask.java:122)
 ...
Caused by: org.apache.solr.common.SolrException:
java.util.concurrent.TimeoutException: Could not connect to ZooKeeper
xxx.xxx.xxx.xxx:2181 within 10000 ms
 at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:182)
 at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:116)
 at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:106)
 at
org.apache.solr.common.cloud.ZkStateReader.<init>(ZkStateReader.java:226)
 at
org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider.connect(ZkClientClusterStateProvider.java:121)
...


In solr.xml, we have :
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>

In Solr.in.sh, we have :
#ZK_CLIENT_TIMEOUT="15000"
or
ZK_CLIENT_TIMEOUT="30000"

So zkClientTimeout  should be 30000.

In source code of ZkClientClusterStateProvider.java, I see zkClientTimeout
is hardcoded to 10000 ! Is it normal that configuration is not used ?

lucene-solr/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkClientClusterStateProvider.java

int zkConnectTimeout = 10000;
int zkClientTimeout = 10000;

...

zk = new ZkStateReader(zkHost, zkClientTimeout, zkConnectTimeout);


Regards.

Dominique

Reply via email to