On Wed, Jul 13, 2016 at 12:46 PM, Rémy Maucherat <r...@apache.org> wrote:

> 2016-07-13 14:00 GMT+02:00 Violeta Georgieva <miles...@gmail.com>:
>
> > Hi,
> >
> > I think the following part of the specification is important:
> >
> > "
> > In the event that an asynchronous operation times out, the container must
> > run through the following steps:
> > - Invoke the AsyncListener.onTimeout method on all the AsyncListener
> > instances registered with the ServletRequest on which the asynchronous
> > operation was initiated.
> > - If none of the listeners called AsyncContext.complete() or any of the
> > AsyncContext.dispatch methods, perform an error dispatch with a status
> code
> > equal to HttpServletResponse.SC_INTERNAL_SERVER_ERROR.
> > - If no matching error page was found, or the error page did not call
> > AsyncContext.complete() or any of the AsyncContext.dispatch methods, the
> > container MUST call AsyncContext.complete().
> > "
> >
> > So isAsyncStarted returns true when in the error page and the error page
> > should call AsyncContext.complete.
> >
> > What do you think?
> >
> > It makes more sense to me than changing the behavior at this point. I
> will
> probably veto any attempt to change again the behavior until it is proven
> beyond any doubt that it is wrong.
>


No need to yield veto power. I'm only asking questions :)

It sounds like the change is not intentional but it's unlikely to go back
either. For what it's worth in Jetty a call to startAsync from an ERROR
dispatch does work and keeps the request going. That said I don't know if
that's intentional or not. At any rate thanks for your comments.

Reply via email to