On 12/7/2014 9:11 PM, JoeSmith wrote: > i've upgraded to 4.10.2 on the client-side. Still seeing this connection > problem when connecting to the Zookeeper port. If I connect directly to > SolrServer, the connections do not increase. But when connecting to > Zookeeper, the connections increase up to 60 and then start to fail. I > understand Zookeeper is configured to fail after 60 connections to prevent > a DOS attack, but I dont see why we keep adding new connections (up to > 60). Does the client-side Zookeeper code also use HttpClient > ConnectionPooling for its Connection Pool? Below is the Exception that > shows up in the log file when this happens. When we execute queries we are > using the _route_ parameter, could this explain anything?
The docs say that Zookeeper uses NIO communication directly by default, so there's no layer like HttpClient. I don't think it uses pooling ... it does everything over a single TCP connection that doesn't normally disconnect until the program exits. Basically, the Zookeeper authors built their own networking layer that uses TCP directly. You have the option of using Netty instead: http://zookeeper.apache.org/doc/r3.4.6/zookeeperAdmin.html#Communication+using+the+Netty+framework Are you running version 3.4.6 for your zookeeper servers? That's the version of ZK client code you'll find in Solr 4.10.x, and the recommended version for both the server and your SolrJ program. The most likely reasons for the connection problems you are seeing are: 1) A bug in the networking layer of your JVM. 1a) The latest Oracle Java 7 (currently 7u72) is highly recommended. 2) A bug or misconfig in the OS TCP stack, or possibly its firewall. 3) A bug or misconfig in zookeeper. I can't rule out the fourth possibility, but so far I think it's unlikely: 4) A bug in SolrJ that has not yet been reported or fixed. Thanks, Shawn