[ 
https://issues.apache.org/jira/browse/SOLR-5719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark Miller updated SOLR-5719:
------------------------------

    Fix Version/s: 4.7
                   5.0

> 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
>             Fix For: 5.0, 4.7
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to