You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Ruben Wagner (JIRA)" <ji...@apache.org> on 2010/07/21 11:22:58 UTC

[jira] Commented: (AMQ-1873) Stomp connections doesn't seem to be released cleanly (Too many open files error)

    [ https://issues.apache.org/activemq/browse/AMQ-1873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60824#action_60824 ] 

Ruben Wagner commented on AMQ-1873:
-----------------------------------

We can reproduce this issue on a Linux platform which runs under a high load. One client is sufficient to produce the stale sockets.
The client has to do something like (perl):
{code}
while(1)
{
    my $c = Stomp::Connection->new(host=>"localhost", port=>61613 );
    $c->Send( "/topic/foo", "hi5" );
    $c->Disconnect();
}
{code}
We have reproduced the problem with the following transport connectors:
- stomp (Perl, PHP)
- stomp+nio (Perl, PHP)
- openwire (Java)

We have reproduced the problem with the following builds: 5.3.2, 5.3.1, 5.4-SNAPSHOT (we did not try the others)

It looks like a race condition to me, as the problem occures more often, the weaker the running machine is. It does not occure when I add a short sleep to my test script.

Testing environments:
#1:
Linux version 2.6.26.8+pata
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) 64-Bit Server VM (build 11.2-b01, mixed mode)

#2:
Linux version 2.6.32-23-generic-pae
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)

P.S.
excuse my english, I'm not a native speaker

> Stomp connections doesn't seem to be released cleanly (Too many open files error)
> ---------------------------------------------------------------------------------
>
>                 Key: AMQ-1873
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1873
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.1.0
>         Environment: Linux RHEL 4
> java version "1.5.0_15"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
> Java HotSpot(TM) Server VM (build 1.5.0_15-b04, mixed mode)
>            Reporter: Julien Devemy
>             Fix For: NEEDS_REVIEWED
>
>         Attachments: activemq.xml
>
>
> I'm actually testing ActiveMQ with a python stomp Client (stomp.py http://www.briggs.net.nz/log/projects/stomppy/).
> I'm trying to load the broker with ~200 producers (on ~200 hosts) feeding one TOPIC for only one consumer.
> Everything is working almost fine until the client connection fails.
> The ActiveMQ log displays :
> ...
> 2008-07-30 09:28:43,665 [localhost:61613] ERROR TransportConnector             - Could not accept connection : Too many open files
> 2008-07-30 09:28:43,665 [localhost:61613] DEBUG TransportConnector             - Reason: Too many open files
> java.net.SocketException: Too many open files
> 	at java.net.PlainSocketImpl.socketAccept(Native Method)
> 	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
> 	at java.net.ServerSocket.implAccept(ServerSocket.java:450)
> 	at java.net.ServerSocket.accept(ServerSocket.java:421)
> 	at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:221)
> 	at java.lang.Thread.run(Thread.java:595)
> When I look at the open files (or connections) (with lsof) I see 65446 lines like :
> java    26765 root *066u  sock        0,4          7534034 can't identify protocol
> This seems to indicate that ActiveMQ doesn't totally released the UNIX socket
> I'm attaching the activemq.xml conf file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.