activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joel Schaubert (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-1286) Out of Memory Causing STOMP connection failure
Date Fri, 20 Jul 2007 19:37:27 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-1286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_39730
] 

Joel Schaubert commented on AMQ-1286:
-------------------------------------


Confirmed to be caused by the netscaler VIP checking every 5 seconds to see if the broker
is still alive.
Changing the algorithm on the load balancer to use ping checking instead of the default tcp
connection testing resolved the issue.

Still probably worth investigating why the tcp connection ping causes the STOMP connector
to exaust all memory.

Joel Schaubert


> Out of Memory Causing STOMP connection failure
> ----------------------------------------------
>
>                 Key: AMQ-1286
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1286
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 4.1.1
>         Environment: linux redhat AS/3
>            Reporter: Joel Schaubert
>            Priority: Critical
>   Original Estimate: 2 weeks
>  Remaining Estimate: 2 weeks
>
> We are testing ActiveMQ with STOMP clients in our QA environments.
> When we finish testing the brokers stay up running idle in their instances.
> The next day when we come back for more testing, our STOMP clients hang trying to read
the connection response from the broker.
> -bash-2.05b$ ./activemq_tester  -d sub
> Connecting......OK
> Sending connect message.OK
> Reading Response.
> The activemq logs reveal that an out of memory error made the broker unable to spin a
worker thread to handle the new connection.
> After a shutdown and restart of the broker, everything works fine.
> Our broker is lightly loaded during the testing and sits idle overnight so it's not obvious
why it would run out of memory.
> ame=stomp,ViewType=address,Name=/10.52.90.118_1448
> WARN  ManagedTransportConnection     - Failed to register MBean: org.apache.activemq:BrokerName=localhost,Type=Connection,ConnectorName=stomp,ViewType=address,Name=/10.52.90.118_3151
> WARN  ManagedTransportConnection     - Failed to register MBean: org.apache.activemq:BrokerName=localhost,Type=Connection,ConnectorName=stomp,ViewType=address,Name=/10.52.90.118_5824
> Exception in thread "ActiveMQ Transport Server: stomp://plt25m3.etrade.com:61613" java.lang.OutOfMemoryError:
unable to create new native thread
>         at java.lang.Thread.start0(Native Method)
>         at java.lang.Thread.start(Thread.java:574)
>         at org.apache.activemq.transport.TransportThreadSupport.doStart(TransportThreadSupport.java:44)
>         at org.apache.activemq.transport.tcp.TcpTransport.doStart(TcpTransport.java:304)
>         at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:49)
>         at org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:54)
>         at org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:54)
>         at org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:54)
>         at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:816)
>         at org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:148)
>         at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:167)
>         at java.lang.Thread.run(Thread.java:595)
> Exception in thread "RMI RenewClean-[10.52.90.15:59951]" java.lang.OutOfMemoryError:
unable to create new native thread
>         at java.lang.Thread.start0(Native Method)
>         at java.lang.Thread.start(Thread.java:574)
>         at sun.rmi.transport.tcp.TCPChannel.free(TCPChannel.java:322)
>         at sun.rmi.server.UnicastRef.free(UnicastRef.java:395)
>         at sun.rmi.server.UnicastRef.done(UnicastRef.java:412)
>         at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
>         at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(DGCClient.java:328)
>         at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(DGCClient.java:144)
>         at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:539)
>         at java.lang.Thread.run(Thread.java:595)
> Using default startup script which allows java vm 512MB and this setting in the conf/activemq.xml
file
>     <memoryManager>  
>         <usageManager id="memory-manager" limit="512 MB"/>
>     </memoryManager>

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


Mime
View raw message