Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-8826

AsyncHTTPConduit (hc5) - Unexpected EOF during response processing

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.5.5
    • 3.6.0, 4.0.1, 3.5.6, 3.4.11
    • Transports
    • None
    • Unknown

    Description

      I'm encountering issues with large SOAP response payloads using the http-hc5 AsyncHTTPConduit. It seems the stream-reader encounters an unexpected EOF while processing the stream. The issue is not reproducible with the http-hc AsyncHTTPConduit. Test-cases are linked below.

      I've also monitored the existing AsyncHTTPConduitTest with wireshark in both modules http-hc and http-hc5. While http-hc behaves as you'd expect, http-hc5 produces RST,ACK (reset) instead of the expected FIN,ACK, even when processing is seemingly successful. Attached a couple of screenshots to illustrate.

      Unfortunately I've not been able to pinpoint what the cause of the issue is. This has happened using three different backends, jetty, undertow and some ancient SOAP production system that I'm sure are running neither of those, so it seems the issue is at least on the client-side.

      Testcases: https://github.com/magnho/cxf/pull/1

      Fails with http-hc5, succeeds with http-hc.

      See:
      org.apache.cxf.transport.http.asyncclient.hc5.AsyncHTTPConduitLargeResponseTest
      org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduitLargeResponseTest

      Please let me know if you need me to provide any further details.

      Attachments

        1. http-hc-wireshark.png
          120 kB
          Magnus Holm
        2. http-hc5-wireshark.png
          114 kB
          Magnus Holm

        Issue Links

          Activity

            People

              reta Andriy Redko
              maghol Magnus Holm
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: