Is the legal "grammar" of calls to AsyncResponseConsumer or AsyncDataConsumer spelled out anywhere? For instance, can I assume that `consumeResponse` is always called before `releaseResources`?
On Wed, Dec 11, 2019 at 10:14 AM Ryan Schmitt <[email protected]> wrote: > Okay. This is another possibility that had occurred to me (i.e. that > :httpcore5-reactive is misinterpreting the contract of AsyncDataConsumer), > and it seems much easier to fix. > > The test case that requires this change is `testSequentialHeadRequests` > (i.e. the @Ignore'd one) in my recent PR. > > On Wed, Dec 11, 2019 at 1:40 AM Oleg Kalnichevski <[email protected]> > wrote: > >> On Tue, 2019-12-10 at 12:15 -0800, Ryan Schmitt wrote: >> > Take a look at [1], which fixes the empty response bug in the non- >> > minimal >> > clients. Does this look right to you? I'm not really convinced. It >> > seems >> > wrong that this would have to be fixed separately in every client. >> > >> > [1] >> > >> >> https://github.com/apache/httpcomponents-client/commit/754d24853312d92a792a68ce21f062fe0fa5c0da >> > >> >> Hi Ryan >> >> Presently the contract of AsyncDataConsumer and its sub-classes is >> that #streamEnd is called at the end of data stream, which it is not >> the case if the HTTP message does not enclose an entity. I think >> #releaseResources should be used here instead. >> >> More importantly, though, if there is no enclosed message entity there >> should not be AsyncDataConsumer to start with. It should be null. >> >> Can you point me at the test case that requires this change? >> >> Oleg >> >> >> > On Tue, Dec 10, 2019 at 5:11 AM Oleg Kalnichevski <[email protected]> >> > wrote: >> > >> > > On Mon, 2019-12-09 at 21:10 -0800, Ryan Schmitt wrote: >> > > > I've opened a PR [1] that adds a decent amount of client-based >> > > > test >> > > > coverage for the reactive extensions. As I mentioned in the >> > > > commit >> > > > message, >> > > > these tests indicate the existence of at least two bugs that need >> > > > to >> > > > be >> > > > addressed. In the case of `testSequentialHeadRequests`, I have >> > > > additional >> > > > changes (which I will also publish shortly) that fixes this issue >> > > > for >> > > > non-minimal clients, but I have yet to fix the issue on minimal >> > > > clients. >> > > > For the other, non-deterministic failure, I don't have a fix yet, >> > > > and >> > > > I may >> > > > need help finding the root cause. >> > > > >> > > > [1] https://github.com/apache/httpcomponents-client/pull/181 >> > > >> > > Let me know how I can be of help >> > > >> > > Oleg >> > > >> > > >> > > ----------------------------------------------------------------- >> > > ---- >> > > To unsubscribe, e-mail: [email protected] >> > > For additional commands, e-mail: [email protected] >> > > >> > > >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >>
