On Mon, Jun 3, 2019 at 8:36 PM Mark Thomas <ma...@apache.org> wrote:

> On 03/06/2019 16:43, Mark Thomas wrote:
> > On 03/06/2019 14:15, Rémy Maucherat wrote:
>
> <snip/>
>
> >>     I think I have found at least one more edge case around the
> >>     Stream/Connection allocation handling. Fixing it is going to mean
> going
> >>     back to a synchronizing on a single object (Stream) so the current
> >>     notify Stream/Connection code is going to need some re-work.
> >>
> >>     I have a potential patch but I haven't finished testing it yet. It
> also
> >>     needs proper debug logging, i18n etc. If all goes well, I should be
> able
> >>     to commit the fix and then tag later today. I'll post an update if
> >>     things don't go well.
> >
> > Things seem to be improving. Linux and OSX are OK but NIO2 on Windows is
> > still failing some tests but fewer than before. I'm currently re-running
> > the unit tests with debug logging enabled to shed some light on what is
> > going wrong. As far as I can tell the issue(s) are still around handling
> > of WINDOW_UPDATE frames when the Connection/Stream flow control window
> > is exhausted.
>
> Further investigation has identified a different root cause. NIO2 is
> getting itself into a state where there are two threads processing the
> incoming frames and they are conflicting. I'm still trying to figure out
> the sequence of events that leads up to this state but it appears to be
> related to the processing of the connection preface.
>

Ok, that's completely different ;) I tried to be careful with that, but the
algorithm changes to non blocking, so obviously there were some risks
involved. I'll have a quick look at it, but you can go ahead with your
window update fix and tag, this NIO2 problem is likely not a super critical
issue.

Rémy

Reply via email to