Uploaded image for project: 'HttpComponents HttpCore'
  1. HttpComponents HttpCore
  2. HTTPCORE-402

impossible to close a ChunkedInputStream.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Invalid
    • 4.3.3
    • None
    • HttpCore
    • None

    Description

      If you have a server that will just send Chunked output for streaming then it is impossible to close the ChunkedInputStream correctly.

      When calling close - it will helpfully try to read until the server sends the terminating chuck - but if this is never going to arrive (as is the case with Docker and many other servers that send notification updates via chunking) the close method never returns and goes into a loop reading and throwing away every single chunk.

      Whilst is is a worthy aim of not keeping the connection overhead low - if you want to close a stream you want to close it. Chunks, pipelining or anything else don;t matter and you want to close things for a reason.

      In this case it prevents users from ever closing a HTTP connection so it is never available for re-use in any case.

      see https://github.com/docker-java/docker-java/issues/196 for a real life example of why this is bad.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jnord_cbs James Nord
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: