https://issues.apache.org/bugzilla/show_bug.cgi?id=50957
--- Comment #12 from Mark Thomas <ma...@apache.org> 2011-03-28 16:03:53 EDT --- (In reply to comment #11) > (In reply to comment #10) > > To address the isAsync() question I suspect that this is not the cause > > since: > > - the issue is with static content where async state is not changing > Yes and no. Even though it is static content being swapped & duplicated, > static content is not the only resource in the request stream. For instance > ImageA.gif & ImageB.gif are included in a page that contains a number of > dynamic JSP elements as well. > > In post #1 I listed a scenario where a JS file was served instead of HTML. In > that case, the page was a dynamic JSP. None of those requests use async processing. Unless you explicitly use Servlet 3.0 async APIs then isAsync() will always return false. > > - it doesn't explain why BIO is affected but NIO is not > If indeed BIO & NIO share nearly identical isAsync() logic and if the real > problem is a concurrency hazard within that logic then the unlucky timing > would > just happen to be more likely in BIO. NIO Protocol has notably less isAsync() > calls. So for all I know NIO is affected also, we just haven't noticed yet. > Maybe it is a Bohrbug or Heisenbug :) > > Maybe someone with exceptionally strong concurrency skills can review > isAsync() > and its usage for safety. Either it is a hazard or it isn't. At the moment, I'm happy isAsync() is safe. There were issues in the past (bug 49884) but the re-factoring that fixed that bug means that it should not be possible for one thread to be reading isAsync() whilst another is changing the value it returns. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org