https://issues.apache.org/bugzilla/show_bug.cgi?id=52055

             Bug #: 52055
           Summary: ChunkedInputFilter is not recycled for servlet 3.0
                    asynchronous request
           Product: Tomcat 7
           Version: 7.0.22
          Platform: Macintosh
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Servlet & JSP API
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: rf...@apache.org
    Classification: Unclassified


I'm using the standard servlet 3.0 async APIs with tomcat 7.0.22. The server
side code is something like the following:

        final AsyncContext asyncContext = request.startAsync();

        ... // in a processing thread
        asyncContext.getRequest().getInputStream();
        ... read the input stream
        asyncContext.complete();

The InputStream returns 0 bytes for the HTTP post with chunking. 

After debugging, I found that the ChunkedInputFilter is reused by
org.apache.coyote.http11.AbstractInputBuffer. But it has never been recycled
(nextRequest()?) before the reuse for another request. As a result, the
endChunk flag is always true after the first request. And it always return
immediately without reading more from the buffer.

-- 
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

Reply via email to