hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Nord (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HTTPCORE-402) impossible to close a ChunkedInputStream.
Date Fri, 01 May 2015 20:50:05 GMT
James Nord created HTTPCORE-402:

             Summary: impossible to close a ChunkedInputStream.
                 Key: HTTPCORE-402
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-402
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore
    Affects Versions: 4.3.3
            Reporter: James Nord
            Priority: Critical

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.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org

View raw message