Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0.2
-
None
Description
When using the ZeroCopyConsumer class, but only when the target server is accessed over TLS, certain requests will result in it hanging indefinitely (until the other side resets the connection or the client times out), or for a couple minutes and then continue.
This happens consistently against a .Net server in one of our partner's environments. I've also seen it when accessing a WebLogic 11g server, but with that, it will resume on its own after a couple minutes. I cannot reproduce it with a Jetty server.
If I set up stunnel to do the TLS, and run exactly the same requests over plain text HTTP, we experience no issues. This is in fact our production workaround.
Also, using the basic in-memory consumer (over TLS) works fine. I also wrote a simple async consumer that reads from the decoder to an array-based byte buffer and then writes to a file, and that works fine.
Interestingly, I have another custom async consumer that we use for streaming back out to the original client, while HTTP Async Client is running in a servlet 3.1 container, and that hangs just like the ZeroCopyConsumer does (but again, no issue over plain text HTTP).
I'll attach a client that can reproduce the error; unfortunately I can't provide the servers in question.