[
https://issues.apache.org/jira/browse/HTTPCORE-568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16762479#comment-16762479
]
Oleg Kalnichevski commented on HTTPCORE-568:
--------------------------------------------
[~rschmitt] [~rhernandez] Folks, are you working on a fix or is there anything
blocking you?
Oleg
> ReactiveDataConsumer receives at most 65k bytes over HTTP/1.1
> -------------------------------------------------------------
>
> Key: HTTPCORE-568
> URL: https://issues.apache.org/jira/browse/HTTPCORE-568
> Project: HttpComponents HttpCore
> Issue Type: Bug
> Components: HttpCore
> Affects Versions: 5.0-beta6
> Reporter: Richard Hernandez
> Priority: Major
>
> [The addition of an input window to
> AbstractHttp1StreamDuplexer|https://github.com/apache/httpcomponents-core/commit/3252c39fd803f86c6856caa83b683d31e45b8391#diff-4ceed36abd5cb9433de24f108c90195aR292]
> causes ReactiveDataConsumer to only receive as many bytes as the input
> window's initial size. By default, this is only 65,536 bytes.
> The problem is that updateCapacity is only called after the window is
> exhausted. This happens after consume returns, which is where
> RectiveDataConsumer tries to signal available capacity to its
> capacityChannel. As a result, it's never able to signal more capacity to
> AbstractHttp1StreamDuplexer, and all future bytes on this channel get stuck
> in the system's socket receive buffer.
> As far as I can tell, the capacity channel was never set in prior releases.
> It just happened to work because my tests never exhausted the buffer space in
> ReactiveDataConsumer.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]