RFR 8178699/10, Fail to send async requests if server doesn't response the first one
Daniel Fuchs
daniel.fuchs at oracle.com
Fri Jun 23 10:40:14 UTC 2017
Hi Felix,
Looks good to me.
+1 for removing unnecessary calls that need synchronization and
cause deadlocks.
If you still have the full thread-dump where the issue could
be observed it might be good to record it in JDK-8178699
(if you no longer have it then don't bother).
best regards,
-- daniel
On 23/06/2017 09:59, Felix Yang wrote:
> Hi all,
>
> please review the following patch to API in
> jdk.incubator.httpclient. The patch is more like a clean-up:
>
> * With current RequestProcessor implementation, constructing multiple
> HTTP Exchange may be blocked if the first request doesn't response
> by server side. This is introduced by synchronized setClient method
> together with other synchronized methods in BodyProcessor.
> * setClient/getClient in RequestProcessors.ProcessorBase and
> ResponseProcessors.AbstractProcessor are never used in real logic.
> * Such abstraction with implicit behavior looks to be confusing if
> someones wants to implement
> HttpResponse.BodyProcessor/HttpRequest.BodyProcessor themselves.
>
> There are more detail root cause analysis in the bug.
>
> Bug:
>
> https://bugs.openjdk.java.net/browse/JDK-8178699
>
> Webrev:
>
> http://cr.openjdk.java.net/~xiaofeya/8178699/webrev.00/
>
> Patch verified with jprt on all platforms and also attempted repeatedly
> locally.
>
> Thanks,
>
> Felix
>
More information about the net-dev
mailing list