Uploaded image for project: 'HttpComponents HttpClient'
  1. HttpComponents HttpClient
  2. HTTPCLIENT-1954

Getting Connection Reset and Read timeout with httpclient 4.5.5

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • 4.5.5
    • None
    • HttpClient (async)

    Description

      Hello,

       

      I've been using the httpclient-4.5.5. jar library to create HTTP connections and it has been implemented in production environment, but the user is getting Connection reset and Read time out exeptions...

       

      Do you know something about this kind of exceptions with the 4.5.5 library?

       

      java.net.SocketException: Connection reset

              at java.net.SocketInputStream.read(SocketInputStream.java:196)

              at java.net.SocketInputStream.read(SocketInputStream.java:122)

              at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139)

              at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155)

              at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284)

              at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)

              at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)

              at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)

              at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)

              at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)

              at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)

              at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)

              at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)

              at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)

              at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)

              at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)

              at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)

              at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)

              at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)

              at com.hp.vzw.spc.nrb.util.HistoricalRequestWork.call(HistoricalRequestWork.java:177)

              at com.hp.vzw.spc.nrb.util.HistoricalRequestWork.call(HistoricalRequestWork.java:33)

              at java.util.concurrent.FutureTask.run(FutureTask.java:262)

              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:745)

      Dec 04, 2018 18:48:49 PM [pool-1-thread-25

       

      The method to create the connections:

      public CloseableHttpClient createHttpClientHistorical(int JSONTimeout)

      {

      logger.info("Creating http client JSONTimeout value received: "+ JSONTimeout);

      int jsonTimeout;

      if (JSONTimeout == 0){

      jsonTimeout = Integer.parseInt(getPropertyFromFile("JSONTIMEOUT").trim());

      logger.info("Setting JSONTimeout from file: "+ jsonTimeout);

      }

      else{

      jsonTimeout = JSONTimeout;

      logger.info("Setting JSONTimeout from screen: "+ jsonTimeout);

      }

      RequestConfig defaultRequestConfig = RequestConfig.custom()

      .setConnectTimeout(jsonTimeout)

      .setSocketTimeout(jsonTimeout)

      .setConnectionRequestTimeout(jsonTimeout)

      .build();

      CloseableHttpClient httpClient = HttpClients.custom()

      .setDefaultRequestConfig(defaultRequestConfig)

      .build();

      return httpClient;

      }

       

      Regards,

      Sandra H.

      Attachments

        Activity

          People

            Unassigned Unassigned
            SandraH Sandra
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: