[jira] [Commented] (AMQ-5468) AMQ MQTT doesn't reject remote connection after a long time
[ https://issues.apache.org/jira/browse/AMQ-5468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14311335#comment-14311335 ] Nguyen Hong Phu commented on AMQ-5468: -- Thanks Timothy Bish, Great :) I have problem with amq version 5.9.1. Since amq version 5.11 it OK, after 6 ms, zoombie of socket session (telnet etc..) auto destroy properly :) But i have another problem with version 5.10 and above. Comsumer JMS (Resource adapter + Glassfish) working not properly, i created a problem here: https://issues.apache.org/jira/browse/AMQ-5570 Many thanks Timothy! AMQ MQTT doesn't reject remote connection after a long time Key: AMQ-5468 URL: https://issues.apache.org/jira/browse/AMQ-5468 Project: ActiveMQ Issue Type: Bug Components: Connector, MQTT Affects Versions: 5.9.0, 5.9.1, 5.10.0 Environment: Linux Reporter: Nguyen Hong Phu Assignee: Timothy Bish Fix For: 5.11.0 Test steps: - Using jConsole to explore JMX MBean clientConnectors (MQTT+NIO connector). - Using telnet client connect to MQTT+NIO port - On jConsole: clientConnectors/mqtt+nio/remoteAddess appear a new connection with IP and local port which connect to. - Close telnet program - Waiting a long time (could be more than a day) and view remoteAddess again on jConsole but Remote IP (telnet) does not remove. Imagine that if a human open a thousand or million connections to server, AMQ not release connections after short time, then AMQ could be throws the ERROR To many open files and it doesn't access new connection. In production server (ulimit max-open-files 65000), i'm using 2 thousand clients but after 2 days, many ERROR To many open files in activemq.log to be throws. On jConsole, number of clientId is equals with clients, but RemoteIP contains more than 65000 IPs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AMQ-5468) AMQ MQTT doesn't reject remote connection after a long time
[ https://issues.apache.org/jira/browse/AMQ-5468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14265233#comment-14265233 ] Timothy Bish commented on AMQ-5468: --- Given that many MQTT clients will run on potentially unreliable connections it's probably not a bad idea to add in connection negotiation timeout detection simillar to that of the OpenWire transport. Unlike STOMP MQTT is binary and would not be usable in telnet which is why the STOMP transport doesn't implement this. AMQ MQTT doesn't reject remote connection after a long time Key: AMQ-5468 URL: https://issues.apache.org/jira/browse/AMQ-5468 Project: ActiveMQ Issue Type: Bug Components: Connector, MQTT Affects Versions: 5.9.0, 5.9.1, 5.10.0 Environment: Linux Reporter: Nguyen Hong Phu Assignee: Timothy Bish Test steps: - Using jConsole to explore JMX MBean clientConnectors (MQTT+NIO connector). - Using telnet client connect to MQTT+NIO port - On jConsole: clientConnectors/mqtt+nio/remoteAddess appear a new connection with IP and local port which connect to. - Close telnet program - Waiting a long time (could be more than a day) and view remoteAddess again on jConsole but Remote IP (telnet) does not remove. Imagine that if a human open a thousand or million connections to server, AMQ not release connections after short time, then AMQ could be throws the ERROR To many open files and it doesn't access new connection. In production server (ulimit max-open-files 65000), i'm using 2 thousand clients but after 2 days, many ERROR To many open files in activemq.log to be throws. On jConsole, number of clientId is equals with clients, but RemoteIP contains more than 65000 IPs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AMQ-5468) AMQ MQTT doesn't reject remote connection after a long time
[ https://issues.apache.org/jira/browse/AMQ-5468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14238620#comment-14238620 ] Timothy Bish commented on AMQ-5468: --- You can add the keepAlive option to your transport connector and configure the OS to check on a more regular interval than the default two hour value. When you close the telnet session you leave a half open socket and the broker needs the TCP stack to signal that it has gone so keepAlive would be a good solution. AMQ MQTT doesn't reject remote connection after a long time Key: AMQ-5468 URL: https://issues.apache.org/jira/browse/AMQ-5468 Project: ActiveMQ Issue Type: Bug Components: Connector, MQTT Affects Versions: 5.9.0, 5.9.1, 5.10.0 Environment: Linux Reporter: Nguyen Hong Phu Test steps: - Using jConsole to explore JMX MBean clientConnectors (MQTT+NIO connector). - Using telnet client connect to MQTT+NIO port - On jConsole: clientConnectors/mqtt+nio/remoteAddess appear a new connection with IP and local port which connect to. - Close telnet program - Waiting a long time (could be more than a day) and view remoteAddess again on jConsole but Remote IP (telnet) does not remove. Imagine that if a human open a thousand or million connections to server, AMQ not release connections after short time, then AMQ could be throws the ERROR To many open files and it doesn't access new connection. In production server (ulimit max-open-files 65000), i'm using 2 thousand clients but after 2 days, many ERROR To many open files in activemq.log to be throws. On jConsole, number of clientId is equals with clients, but RemoteIP contains more than 65000 IPs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AMQ-5468) AMQ MQTT doesn't reject remote connection after a long time
[ https://issues.apache.org/jira/browse/AMQ-5468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14236684#comment-14236684 ] Nguyen Hong Phu commented on AMQ-5468: -- Hi @Timothy Bish, thanks for your quick reply, I have been configured max connections on a transport connector and real number of clients (wireless devices) is 2000, but connections count when invoke operator in JMX and losf (command linux) more than 65000 TCP opened. The fact that, at a time only one a socket is opened. But connection not release when client disconnect not properly, client MQTT is removed on broker, but TCP socket don't. You can use telnet client to double check: Example: Please try three simple steps: 1/ telnet broker ip:port 2/ view on Jconsole for JMX connector: image bellow Socket tcp appear in folder remoteAddress !http://s3.postimg.org/xbplh535f/amq.png! 3/ Close telnet client, waiting a long time (could be 1 hour, 1 day,...), socket tcp not release, so a humman could be attack by open many sockets :( In real-production, my clients could be disconnect not properly and many tcp not release and cause max-openfiles error. Sorry my English! AMQ MQTT doesn't reject remote connection after a long time Key: AMQ-5468 URL: https://issues.apache.org/jira/browse/AMQ-5468 Project: ActiveMQ Issue Type: Bug Components: Connector, MQTT Affects Versions: 5.9.0, 5.9.1, 5.10.0 Environment: Linux Reporter: Nguyen Hong Phu Test steps: - Using jConsole to explore JMX MBean clientConnectors (MQTT+NIO connector). - Using telnet client connect to MQTT+NIO port - On jConsole: clientConnectors/mqtt+nio/remoteAddess appear a new connection with IP and local port which connect to. - Close telnet program - Waiting a long time (could be more than a day) and view remoteAddess again on jConsole but Remote IP (telnet) does not remove. Imagine that if a human open a thousand or million connections to server, AMQ not release connections after short time, then AMQ could be throws the ERROR To many open files and it doesn't access new connection. In production server (ulimit max-open-files 65000), i'm using 2 thousand clients but after 2 days, many ERROR To many open files in activemq.log to be throws. On jConsole, number of clientId is equals with clients, but RemoteIP contains more than 65000 IPs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AMQ-5468) AMQ MQTT doesn't reject remote connection after a long time
[ https://issues.apache.org/jira/browse/AMQ-5468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14233496#comment-14233496 ] Timothy Bish commented on AMQ-5468: --- You can configure max connections on a transport connector to limit max open connections. transportConnector name=mqtt uri=mqtt://0.0.0.0:5673?maximumConnections=1000/ AMQ MQTT doesn't reject remote connection after a long time Key: AMQ-5468 URL: https://issues.apache.org/jira/browse/AMQ-5468 Project: ActiveMQ Issue Type: Bug Components: Connector, MQTT Affects Versions: 5.9.0, 5.9.1, 5.10.0 Environment: Linux Reporter: Nguyen Hong Phu Fix For: NEEDS_REVIEW Test steps: - Using jConsole to explore JMX MBean clientConnectors (MQTT+NIO connector). - Using telnet client connect to MQTT+NIO port - On jConsole: clientConnectors/mqtt+nio/remoteAddess appear a new connection with IP and local port which connect to. - Close telnet program - Waiting a long time (could be more than a day) and view remoteAddess again on jConsole but Remote IP (telnet) does not remove. Imagine that if a human open a thousand or million connections to server, AMQ not release connections after short time, then AMQ could be throws the ERROR To many open files and it doesn't access new connection. In production server (ulimit max-open-files 65000), i'm using 2 thousand clients but after 2 days, many ERROR To many open files in activemq.log to be throws. On jConsole, number of clientId is equals with clients, but RemoteIP contains more than 65000 IPs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)