Hi, I added some very liberal connection timeout and socket timeout to the request config. And I see a lot of SocketTimeoutException and some ConnectTimeoutException
RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout(10*60*1000) .setConnectTimeout(60*1000) .setSocketTimeout(3*60*1000) .build(); I am totally lost on what needs to be fixed here, but it is blocking a lot of connections for a very long time; and my expected throughput has reduced to almost half (compared to Solr 4 and Jetty). Jetty 9 doesn't support bio.SocketConnector and following snippet from Solr4 (probably Jetty 8) shows that Solr was performing better with SocketConnector insted of nio.SelectChannelConnector. I am wondering if this gives some clue to my problem. How should I keep my Jetty 9 config (for non blocking i/o as SocketConnector is not supported), to at least improve my performance. PS: I have also posted this question here: https://stackoverflow.com/questions/47098816/solr-jetty-9-webserver-sending-a-ton-of-socket-timeouts Thanks Nawab On Thu, Oct 26, 2017 at 7:03 PM, Nawab Zada Asad Iqbal <khi...@gmail.com> wrote: > Hi, > > After Solr 7 upgrade, I am realizing that my '/update' request is > sometimes getting stuck on this:- > > - java.net.SocketInputStream.socketRead0(java.io.FileDescriptor, byte[], > int, int, int) @bci=0 (Compiled frame; information may be imprecise) > - java.net.SocketInputStream.read(byte[], int, int, int) @bci=87, > line=152 (Compiled frame) > - java.net.SocketInputStream.read(byte[], int, int) @bci=11, line=122 > (Compiled frame) > - org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer() > @bci=71, line=166 (Compiled frame) > - org.apache.http.impl.io.SocketInputBuffer.fillBuffer() @bci=1, line=90 > (Compiled frame) > - org.apache.http.impl.io.AbstractSessionInputBuffer. > readLine(org.apache.http.util.CharArrayBuffer) @bci=137, line=281 > (Compiled frame) > - org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead( > org.apache.http.io.SessionInputBuffer) @bci=16, line=92 (Compiled frame) > - org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead( > org.apache.http.io.SessionInputBuffer) @bci=2, line=62 (Compiled frame) > - org.apache.http.impl.io.AbstractMessageParser.parse() @bci=38, > line=254 (Compiled frame) > - org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader() > @bci=8, line=289 (Compiled frame) > - org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader() > @bci=1, line=252 (Compiled frame) > - > org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader() > @bci=6, line=191 (Compiled frame) > - org.apache.http.protocol.HttpRequestExecutor. > doReceiveResponse(org.apache.http.HttpRequest, > org.apache.http.HttpClientConnection, > org.apache.http.protocol.HttpContext) @bci=62, line=300 (Compiled frame) > - > org.apache.http.protocol.HttpRequestExecutor.execute(org.apache.http.HttpRequest, > org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext) > @bci=60, line=127 (Compiled frame) > - org.apache.http.impl.client.DefaultRequestDirector. > tryExecute(org.apache.http.impl.client.RoutedRequest, > org.apache.http.protocol.HttpContext) @bci=198, line=715 (Compiled frame) > - org.apache.http.impl.client.DefaultRequestDirector. > execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, > org.apache.http.protocol.HttpContext) @bci=574, line=520 (Compiled frame) > - > org.apache.http.impl.client.AbstractHttpClient.execute(org.apache.http.HttpHost, > org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) > @bci=344, line=906 (Compiled frame) > - org.apache.http.impl.client.AbstractHttpClient.execute( > org.apache.http.client.methods.HttpUriRequest, > org.apache.http.protocol.HttpContext) > @bci=21, line=805 (Compiled frame) > - org.apache.http.impl.client.AbstractHttpClient.execute( > org.apache.http.client.methods.HttpUriRequest) @bci=6, line=784 (Compiled > frame) > > > It seems that I am hitting this issue: https://stackoverflow.com/ > questions/28785085/how-to-prevent-hangs-on-socketinputstream-socketread0- > in-java > Although, I will fix my timeout settings in client, I am curious what has > changed in Solr7 (i am upgrading from solr 4), which would cause this? > > > Thanks > Nawab >