[ 
https://issues.apache.org/jira/browse/HTTPCORE-646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak resolved HTTPCORE-646.
-----------------------------------
    Fix Version/s: 5.0.2
       Resolution: Fixed

> ChunkedInputStream often creates a garbage buffer on close to read zero bytes
> -----------------------------------------------------------------------------
>
>                 Key: HTTPCORE-646
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-646
>             Project: HttpComponents HttpCore
>          Issue Type: Improvement
>          Components: HttpCore
>    Affects Versions: 5.0.1
>            Reporter: Carter Kozak
>            Priority: Minor
>             Fix For: 5.0.2
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> I profiled a service using hc5 to read chunked responses which are parsed 
> using jackson directly from the entity stream. I've found that a new 4 KiB 
> buffer is created to drain remaining bytes every time close is called, 
> despite the read never producing any data because the next read discovers the 
> terminating chunk.
> This scenario is likely any time that self-terminating data is parsed, the 
> consumer is able to stop reading prior to receiving an end-of-stream.
> It's likely that sufficient data already exists in the SessionInputBuffer to 
> avoid unnecessary buffers. To solve this issue it may be enough to attempt a 
> single-byte read prior to using the buffer, or an efficient 
> {{InputStream.skip(long)}} could be implemented.
> A globally shared buffer would solve this, however there may be security 
> concerns using a static buffer to dump trailing contents which may include 
> sensitive data, accessible elsewhere in the jvm.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to