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

CLONE - Request 'hangs' on invalid response from server

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Invalid
    • None
    • None
    • None
    • Java 8
      Running test with either Maven or IntelliJ.

    Description

      When using the fluent api to do a request and the response of the previous request was status NoContent, but the server did send some content anyway, then the next request is blocked for a long time. No response is ever returned. Eventually some timeout will unblock the thread, but the request has failed.

      To reproduce this issue:

      • create a server which returns a NoContent with some text body.
      • do a first request
      • do a second request. This request hangs/blocks the thread for long time.

      We're using Fluent API to easily unit test our rest api. In a test class where a test was doing multiple requests, the first test would pass, but the second test would stall and eventually fail. Individually the tests were passing. I could not find any issue on the server side, so I tried another http client (Ning) which seemed to fix the issue. After rewriting the test to use Ning instead of HttpClient, the tests were successful, but when I changed it to reuse the same AsyncHttpClient, I got the same issue. However, because Ning does not block but throws an exception, I was finally able to find the issue which caused the problem: an endpoint returning a NoContent status, but with some text body.

      Even though this is a server issue, the httpclient should not block the thread for such a long time and also return a proper error so this kind of issues so the cause is easier to track down. Now, if I would not have used Ning, I would not have found the issue.

      The problem occurred when using Fluent Api, but I assume to cause for the thread to block and not return a proper error is in the HttpClient component.

      Attachments

        1. TestMalformedServerResponse.java
          5 kB
          Gonzalo Bermúdez

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gonz0 Gonzalo Bermúdez
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: