hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Koji Kawamura <ijokaruma...@apache.org>
Subject HttpAsyncRequestProducer is not sending content fully with HTTPS
Date Fri, 12 Aug 2016 04:02:06 GMT
Hello httpclient community,

I'm having an issue with HTTPS and HttpAsyncRequestProducer
combination, so I would like to ask for some help.

I've been using httpclient HttpAsyncRequestProducer to make a
non-blocking HTTP POST request.
My use case consists of two threads, one is pushing data to a channel,
and the other is reading streaming data from that channel, then
producing a POST chunked content.

It's been working wonderfully with HTTP, but when I tested with HTTPS,
noticed it only sends first few KB of data, even if I'm using the same
client code.
If the whole data size is less that about 8KB, it works, but bigger
than that, further data is not sent.

Debugging around AbstractContentEncoder and SSLIOSession, but I
couldn't find the exact cause of this behavior yet. But found that
Line Buffer Size is being 8192, it seems this is the threshold of the
behavior.

Wondering if calling ContentEncoder.write(ByteBuffer) multiple times
causes this issue. It look like once about 8KB data is sent, further
write() doesn't write anything, returning 0 even if the buffer has
remaining data.

To illustrate this issue, I wrote a simple test case which POST data
via HTTP and HTTPS. The issue is reproducible.
https://gist.github.com/ijokarumawak/6027ca64eb28fd143acd173d799ffd48

Has anyone encountered similar issue? I searched web and JIRA but
couldn't find similar issue..
Any advice or insight would be appreciated,

Thanks!
Koji

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


Mime
View raw message