On 7/27/2014 7:23 PM, Nathan Neulinger wrote: > Unfortunately, doesn't look like this clears the symptom. > > The ping is responding almost instantly every time. I've tried setting a > 15 second timeout on the check, with no change in occurences of the error. > > Looking at a packet capture on the server side, there is a clear > distinction between working and failing/error-triggering connections. > > It looks like in a "working" case, I see two packets immediately back to > back (one with header, and next a continuation with content) with no ack > in between, followed by ack, rst+ack, rst. > > In the failing request, I see the GET request, acked, then the http/1.1 > 200 Ok response from Solr, a single ack, and then an almost > instantaneous reset sent by the client. > > > I'm only seeing this on traffic to/from haproxy checks. If I do a simple: > > while [ true ]; do curl -s http://host:8983/solr/admin/ping; done > > from the same box, that flood runs with generally 10-20ms request times > and zero errors.
I won't claim to understand what's going on here, but it might be a matter of the haproxy options. Here are the options I'm using in the "defaults" section of the config: defaults log global mode http option httplog option dontlognull option redispatch option abortonclose option http-server-close option http-pretend-keepalive retries 1 maxconn 1024 timeout connect 1s timeout client 5s timeout server 30s One bit of information I came across when I first started setting haproxy up for Solr is that servlet containers like Jetty and Tomcat require the "http-pretend-keepalive" option to work properly. Are you using this option? Thanks, Shawn