You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Allan Baliberdin (JIRA)" <ji...@apache.org> on 2014/02/12 20:13:23 UTC
[jira] [Created] (SOLR-5719) CloudSolrServer 4.6.1 -
CloudSolrServer instance on the client side put its threads on waiting
mode when shard goes down, and never wake up them.
Allan Baliberdin created SOLR-5719:
--------------------------------------
Summary: CloudSolrServer 4.6.1 - CloudSolrServer instance on the client side put its threads on waiting mode when shard goes down, and never wake up them.
Key: SOLR-5719
URL: https://issues.apache.org/jira/browse/SOLR-5719
Project: Solr
Issue Type: Bug
Components: clients - java
Affects Versions: 4.6.1
Environment: 2 ZooKepper Servers, 4 SolrServers, JDK 1.7 on Jetty CentOS 6.4
1 Core (collection1) with two shards which have 2 instances each one
Reporter: Allan Baliberdin
CloudSolrServer instance on the client side put its threads on waiting mode when shard goes down, and never wake up them.
Teste code:
...
CloudSolrServer server = new CloudSolrServer("172.16.199.106:8080,172.16.198.198:8080",false);
server.setDefaultCollection("collection1");
for(int i=0; i< 10000; i++){
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", i);
doc.addField("title", i+" - Document test");
doc.addField("content", i+" - Test Content");
server.add(doc);
}
...
During this test we put the shard #1 down, just for check fault tolerance. And CloundSolrServer Logs:
Exception in thread "main" org.apache.solr.client.solrj.impl.CloudSolrServer$RouteException: No live SolrServers available to handle this request:[http://172.16.199.60:8080/solr/collection1, http://172.16.199.97:8080/solr/collection1]
at org.apache.solr.client.solrj.impl.CloudSolrServer.directUpdate(CloudSolrServer.java:351)
at org.apache.solr.client.solrj.impl.CloudSolrServer.request(CloudSolrServer.java:510)
at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:117)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:116)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:102)
at teste.SolrIndexer.main(SolrIndexer.java:44)
Caused by: org.apache.solr.client.solrj.SolrServerException: No live SolrServers available to handle this request:[http://172.16.199.60:8080/solr/collection1, http://172.16.199.97:8080/solr/collection1]
at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:354)
at org.apache.solr.client.solrj.impl.CloudSolrServer$1.call(CloudSolrServer.java:332)
at org.apache.solr.client.solrj.impl.CloudSolrServer$1.call(CloudSolrServer.java:329)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.solr.client.solrj.SolrServerException: Server refused connection at: http://172.16.199.97:8080/solr/collection1
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:500)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:199)
at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:285)
... 7 more
Caused by: org.apache.http.conn.HttpHostConnectException: Connection to http://172.16.199.97:8080 refused
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:395)
... 9 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
... 16 more
But not throw this exception through my main Thread, and lock loop.
After we starts up shard #1 CloudSolrServer (client side) could not return from failure.
Then my program never exit, and CloudSolrServer could not be reused.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org