You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2016/03/24 06:57:53 UTC

[Bug 59229] New: Wrong documentation: NIO connector is non-blocking when reading http request

https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

            Bug ID: 59229
           Summary: Wrong documentation: NIO connector is non-blocking
                    when reading http request
           Product: Tomcat 7
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: Documentation
          Assignee: dev@tomcat.apache.org
          Reporter: huxing.zhang@gmail.com

https://tomcat.apache.org/tomcat-7.0-doc/config/http.html

It says NIO connector is blocking for reading http request, actually it is
non-blocking.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

--- Comment #4 from Huxing Zhang <hu...@gmail.com> ---
Yes, I mean the description is wrong about non-blocking for reading http
request line (request header).

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

--- Comment #1 from Christopher Schultz <ch...@christopherschultz.net> ---
This used to be described as "sim-blocking" but evidently that caused
confusion.

Because the servlet API is stream-based, the behavior of request/response
read/write is always effectively "blocking" -- at least as far as the
application is concerned. The request-processing thread will be tied-up waiting
for the read/write request to complete before returning to the servlet.

So even though non-blocking IO is being used under the covers, the application
isn't using a non-blocking API to make IO requests. That's why the description
is "blocking" in that table.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

--- Comment #3 from Christopher Schultz <ch...@christopherschultz.net> ---
Aah, yes, sorry. I didn't read the description carefully enough. Specifically,
reading the "Request" (that is, specifically, the request-line of the HTTP
request) is in fact non-blocking. I think that extends to the HTTP headers as
well.

But it doesn't extend to the request body.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

--- Comment #10 from Huxing Zhang <hu...@gmail.com> ---
Thanks for clarifying AJP is blocking for NIO connector for reading http
headers and request. 
My bad not digging into the AJP code. I will take care from next time.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

--- Comment #2 from Huxing Zhang <hu...@gmail.com> ---
Hi,

I understand what you mean, but the following documentation are all saying that
NIO connector is Non-blocking when reading request:

https://tomcat.apache.org/tomcat-9.0-doc/config/http.html
https://tomcat.apache.org/tomcat-8.0-doc/config/http.html
https://tomcat.apache.org/tomcat-6.0-doc/config/http.html

At least they should keep consistent.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

--- Comment #5 from Huxing Zhang <hu...@gmail.com> ---
Created attachment 33703
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=33703&action=edit
Patch to fix the wrong description about NIO connector

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

--- Comment #6 from Huxing Zhang <hu...@gmail.com> ---
This seems to be a regression, which is introduced by the following commit:

https://github.com/apache/tomcat70/commit/b0b4cfff188c5fe4d5a78ea995a1ace3a72f6c65

Oh I forgot the AJP part in my patch, will update it later.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

Huxing Zhang <hu...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #33703|0                           |1
        is obsolete|                            |

--- Comment #7 from Huxing Zhang <hu...@gmail.com> ---
Created attachment 33704
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=33704&action=edit
Patch to fix the wrong description about HTTP/AJP NIO connector

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

--- Comment #8 from Huxing Zhang <hu...@gmail.com> ---
I think the documentation in AJP is more clear. In webapps/docs/config/ajp.xml
it says,  "Read Request Headers" is Non Blocking. In
webapps/docs/config/http.xml it says, "Read HTTP Request" is Non Blocking. HTTP
Request includes header and body, so I think specifying "Read HTTP Request
Headers" is more accurate.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59229] Wrong documentation: NIO connector is non-blocking when reading http request

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59229

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #9 from Mark Thomas <ma...@apache.org> ---
Thanks for the report and for digging out the commit that introduced the error.

Note: AJP IS blocking for all connectors for Request Headers and Request
Bodies.

I've corrected the HTTP docs for 7.0.x and improved the row titles for 7.0x
through 9.0.x.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org