Author: markt Date: Mon Sep 14 15:39:46 2015 New Revision: 1702971 URL: http://svn.apache.org/r1702971 Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58371 Fix data race accessing request URI in String form when switching from non-async to async due to early triggering of the gathering of request statistics.
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1702971&r1=1702970&r2=1702971&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Mon Sep 14 15:39:46 2015 @@ -1142,9 +1142,9 @@ public class Http11Processor extends Abs if (getErrorState().isError()) { response.setStatus(500); } - request.updateCounters(); if (!isAsync() || getErrorState().isError()) { + request.updateCounters(); if (getErrorState().isIoAllowed()) { inputBuffer.nextRequest(); outputBuffer.nextRequest(); @@ -1751,10 +1751,12 @@ public class Http11Processor extends Abs rp.setStage(org.apache.coyote.Constants.STAGE_ENDED); if (getErrorState().isError()) { + request.updateCounters(); return SocketState.CLOSED; } else if (isAsync()) { return SocketState.LONG; } else { + request.updateCounters(); if (!keepAlive) { return SocketState.CLOSED; } else { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org