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

            Bug ID: 58970
           Summary: http NIO connector crash after update from 8.0.27 to
                    8.0.30
           Product: Tomcat 8
           Version: 8.0.30
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connectors
          Assignee: dev@tomcat.apache.org
          Reporter: sl...@aceslash.net

Created attachment 33531
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=33531&action=edit
Graph of network connection status during the crash of the connector

==============================
Environment:
Debian 8
Tomcat 8.0.30
Java Oracle JDK 1.8.0_72
Using connector NIO, current connector configuration:
    <Connector port="8001"
protocol="org.apache.coyote.http11.Http11NioProtocol"
        connectionTimeout="20000"
        acceptorThreadCount="4"
        maxThreads="200"
        maxConnections="1000"
        maxKeepAliveRequests="5000" />
Hardware: different servers, Intel Xeon CPU with a total of 16 core (32 thread)
memory per tomcat around 30GB, using G1GC.
==============================
What is happening:
Before the update, with Tomcat version 8.0.27, we didn't have any issue with
the NIO connector, it was working fine and websocket too.
Since the update, the connector just "crash" after several hours of work: no
request are then processed (websocket or http), trying to access any
application from http://ip:8001/ just hangs. Looking at the state of the
network socket, it is clearly not working (graph attached).

The http/NIO connector is used almost exclusively for websocket connections
(the only connection that are not websocket are from our internal connector
checker).

There is also an AJP/APR connector that is working fine during that time, even
when the NIO/http connector crash.

I don't see anything in the catalina.out nor in the system log... 

I know this is difficult to debug with so little information, I only see this
issue in production myself when there is a large number of connections, never
in test.

The tomcat is behind an apache httpd 2.4 proxy, relevant configuration:
JkMount /APPNAME* server_tomcat1
ProxyPass /APPNAME/realtime/ ws://server.example.net:8001/APPNAME/realtime/
ProxyPassReverse /APPNAME/realtime/
ws://server.example.net:8001/APPNAME/realtime/

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