On 29/10/2014 17:29, r...@apache.org wrote: > Author: remm > Date: Wed Oct 29 17:29:19 2014 > New Revision: 1635215 > > URL: http://svn.apache.org/r1635215 > Log: > Fix three edgy async context bugs. > > Modified: > tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java > tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java > tomcat/trunk/webapps/docs/changelog.xml > > Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1635215&r1=1635214&r2=1635215&view=diff > ============================================================================== > --- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java > (original) > +++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Wed Oct > 29 17:29:19 2014 > @@ -84,7 +84,6 @@ public class AsyncContextImpl implements > } > check(); > request.getCoyoteRequest().action(ActionCode.ASYNC_COMPLETE, null); > - clearServletRequestResponse(); > } > > @Override > @@ -104,6 +103,7 @@ public class AsyncContextImpl implements > } > } > } finally { > + clearServletRequestResponse(); > context.unbind(Globals.IS_SECURITY_ENABLED, oldCL); > } > > @@ -290,6 +290,10 @@ public class AsyncContextImpl implements > } catch (ClassNotFoundException e) { > ServletException se = new ServletException(e); > throw se; > + } catch (Exception e) { > + ExceptionUtils.handleThrowable(e.getCause()); > + ServletException se = new ServletException(e); > + throw se;
-1 (veto) The Servlet 3.1 specification requires that an IllegalStateException is thrown if get[Request|Response]() is called after complete(). There are unit tests for this that now fail. Please revert this ASAP before it starts to block the 8.0.15 tag. Mark > } > return listener; > } > > Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1635215&r1=1635214&r2=1635215&view=diff > ============================================================================== > --- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] > (original) > +++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] Wed > Oct 29 17:29:19 2014 > @@ -109,7 +109,7 @@ public class AsyncStateMachine { > DISPATCHED(false, false, false), > STARTING(true, true, false), > STARTED(true, true, false), > - MUST_COMPLETE(true, false, false), > + MUST_COMPLETE(true, true, false), > COMPLETING(true, false, false), > TIMING_OUT(true, false, false), > MUST_DISPATCH(true, true, true), > > Modified: tomcat/trunk/webapps/docs/changelog.xml > URL: > http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1635215&r1=1635214&r2=1635215&view=diff > ============================================================================== > --- tomcat/trunk/webapps/docs/changelog.xml (original) > +++ tomcat/trunk/webapps/docs/changelog.xml Wed Oct 29 17:29:19 2014 > @@ -183,6 +183,13 @@ > full class path, ensure that class path entries added directly to the > web application class loader are scanned. (markt) > </fix> > + <fix> > + AsyncContext should remain usable until fireOnComplete is called. > (remm) > + </fix> > + <fix> > + AsyncContext createListener should wrap any instantiation exception > + using a ServletException. (remm) > + </fix> > </changelog> > </subsection> > <subsection name="Coyote"> > @@ -219,6 +226,9 @@ > <code>AsyncContext.start(Runnable)</code> during non-blocking IO > reads > and writes. (markt) > </fix> > + <fix> > + Async state MUST_COMPLETE should still be started. (remm) > + </fix> > </changelog> > </subsection> > <subsection name="Jasper"> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org