Hi all,

 We have 2 amq servers, in a master-slave setup. Recently, I observed
this in the master's log file (see attached). Basically, there were
quite a few debug messages about stopping master bridge and "negociation
timeout". Later, followed by a out of memory exception. 

 The master server continued to run, even after the memory exception,
but reading messages from a specific topic, froze the consumer.

 I had a durable subscription to a topic, but the subscriber had
disconnected for a while and the subscription had collected around
40,000 messages (at a guess). Here is my activemq.xml

--------

    <memoryManager>
        <usageManager id="memory-manager" limit="2048 MB"/>
    </memoryManager>

    <destinationPolicy>
      <policyMap><policyEntries>

          <policyEntry topic="wss.>">
            <dispatchPolicy>
              <strictOrderDispatchPolicy />
            </dispatchPolicy>
            <subscriptionRecoveryPolicy>
              <lastImageSubscriptionRecoveryPolicy />
            </subscriptionRecoveryPolicy>
            <pendingMessageLimitStrategy>
              <constantPendingMessageLimitStrategy limit="50000"/>
            </pendingMessageLimitStrategy>
          </policyEntry>

      </policyEntries></policyMap>
    </destinationPolicy>
-------------

with both "usageManager" and the "message limit strategy", I expected
activemq to drop old messages on a durable subscription, once the limit
was hit. In a separate test on one of the dev servers, I observed , via
the jmx console, on a durable subscription the messages were never
dropped, even after crossing the limit.

 we are running ActiveMQ 4.1 (stable), with 64bit Java v1.5.0. Any help
is appreciated. Thanks.

- Sandeep
2007-01-17 01:00:18,501 [.24.37.58:37599] DEBUG TransportConnection            
- Setting up new connection: [EMAIL PROTECTED]
2007-01-17 01:00:19,783 [.24.37.58:37600] DEBUG TransportConnection            
- Setting up new connection: [EMAIL PROTECTED]

.....

2007-01-17 01:01:32,886 [ource.com:61613] WARN  ManagedTransportConnection     
- Failed to register MBean: 
org.apache.activemq:BrokerName=master,Type=Connection,ConnectorName=stomp,ViewType=address,Name=/172.24.37.58_37699
2007-01-17 01:01:32,886 [ource.com:61613] DEBUG ManagedTransportConnection     
- Failure reason: javax.management.InstanceAlreadyExistsException: 
org.apache.activemq:BrokerName=master,Type=Connection,ConnectorName=stomp,ViewType=address,Name=/i.p.address_37699
javax.management.InstanceAlreadyExistsException: 
org.apache.activemq:BrokerName=master,Type=Connection,ConnectorName=stomp,ViewType=address,Name=/i.p.address_37699
        at 
com.sun.jmx.mbeanserver.RepositorySupport.addMBean(RepositorySupport.java:452)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1410)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:936)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:337)
        at 
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:497)
        at 
org.apache.activemq.broker.jmx.ManagedTransportConnection.registerMBean(ManagedTransportConnection.java:102)
        at 
org.apache.activemq.broker.jmx.ManagedTransportConnection.<init>(ManagedTransportConnection.java:60)
        at 
org.apache.activemq.broker.jmx.ManagedTransportConnector.createConnection(ManagedTransportConnector.java:56)
        at 
org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:147)
        at 
org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:167)
        at java.lang.Thread.run(Thread.java:595)


....

2007-01-17 01:11:14,246 [.24.37.55:55440] DEBUG TransportConnection            
- Stopping connection: /172.24.37.55:55440
2007-01-17 01:11:18,340 [.24.37.55:55443] DEBUG WireFormatNegotiator           
- tcp:///172.24.37.55:55443 after negotiation: OpenWireFormat{version=2, 
cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true, 
sizePrefixDisabled=false}
2007-01-17 01:11:18,341 [.24.37.55:55443] DEBUG TransportConnection            
- Setting up new connection: [EMAIL PROTECTED]
2007-01-17 01:11:18,341 [.24.37.55:55443] DEBUG Service                        
- Async error occurred: javax.jms.InvalidClientIDException: Broker: master - 
Client: NC_slave_outboundslave already connected
javax.jms.InvalidClientIDException: Broker: master - Client: 
NC_slave_outboundslave already connected
        at 
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:205)
        at 
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
        at 
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:70)
        at 
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
        at 
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
        at 
org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:687)
        at 
org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:86)
        at 
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
        at 
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:284)
        at 
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:177)
        at 
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
        at 
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:133)
        at 
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
        at 
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
        at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
        at java.lang.Thread.run(Thread.java:595
        
.....

2007-01-17 01:11:24,528 [.24.37.58:38309] DEBUG TransportConnection            
- Setting up new connection: [EMAIL PROTECTED]
2007-01-17 01:11:24,529 [ource.com:61616] DEBUG WireFormatNegotiator           
- Sending: WireFormatInfo { version=2, properties={TightEncodingEnabled=true, 
CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false, 
StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true}, 
magic=[A,c,t,i,v,e,M,Q]}
2007-01-17 01:11:26,438 [ception Handler] DEBUG Transport                      
- Transport failed: java.net.SocketException: Broken pipe
java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at 
org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:109)
        at java.io.DataOutputStream.flush(DataOutputStream.java:106)
        at 
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:119)
        at 
org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:141)
        at 
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80)
        at 
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93)
        at 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
        at 
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1051)
        at 
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:779)
        at 
org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:788)
        at 
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:88)
        at 
org.apache.activemq.thread.DedicatedTaskRunner.access$000(DedicatedTaskRunner.java:25)
        at 
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:39)


.....

2007-01-17 01:12:39,857 [ Agent Notifier] INFO  NetworkConnector               
- Establishing network connection between from vm://master?network=true to 
tcp://slave:61616
2007-01-17 01:12:41,791 [.24.37.55:55452] DEBUG Transport                      
- Transport failed: java.io.EOFException
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:358)
        at 
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
        at 
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)
        at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
        at java.lang.Thread.run(Thread.java:595)
2007-01-17 01:12:43,720 [ception Handler] DEBUG Transport                      
- Transport failed: java.net.SocketException: Socket closed
java.net.SocketException: Socket closed
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at 
org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:109)
        at java.io.DataOutputStream.flush(DataOutputStream.java:106)
        at 
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:119)
        at 
org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:141)
        at 
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80)
        at 
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93)
        at 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
        at 
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1051)
        at 
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:779)
        at 
org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:818)
        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)

....

2007-01-17 01:18:03,157 [ Agent Notifier] INFO  TransportConnector             
- Connector vm://master Started
2007-01-17 01:21:38,112 [ Agent Notifier] DEBUG DemandForwardingBridge         
-  stopping master bridge to Unknown is disposed already ? false
2007-01-17 01:22:12,921 [ Agent Notifier] DEBUG TransportConnection            
- Stopping connection: vm://master#14
2007-01-17 01:22:49,518 [ Agent Notifier] DEBUG TransportConnection            
- Stopped connection: vm://master#14
2007-01-17 01:23:32,721 [ Agent Notifier] DEBUG DemandForwardingBridge         
- Caught exception stopping
java.io.IOException: Wire format negociation timeout: peer did not send his 
wire format.
        at 
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:88)
        at 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
        at 
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
        at 
org.apache.activemq.network.DemandForwardingBridgeSupport.stop(DemandForwardingBridgeSupport.java:302)
        at 
org.apache.activemq.util.ServiceSupport.dispose(ServiceSupport.java:40)
        at 
org.apache.activemq.network.DiscoveryNetworkConnector.onServiceRemove(DiscoveryNetworkConnector.java:155)
        at 
org.apache.activemq.transport.discovery.multicast.MulticastDiscoveryAgent$3.run(MulticastDiscoveryAgent.java:371)
        at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)

....

2007-01-17 01:36:43,038 [eckpoint Worker] ERROR JournalPersistenceAdapter      
- Failed to checkpoint a message store: 
edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: 
java.lang.OutOfMemoryError: Java heap space
edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: 
java.lang.OutOfMemoryError: Java heap space
        at 
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:299)
        at 
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:118)
        at 
org.apache.activemq.store.journal.JournalPersistenceAdapter.doCheckpoint(JournalPersistenceAdapter.java:386)
        at 
org.apache.activemq.store.journal.JournalPersistenceAdapter$2.iterate(JournalPersistenceAdapter.java:129)
        at 
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:88)
        at 
org.apache.activemq.thread.DedicatedTaskRunner.access$000(DedicatedTaskRunner.java:25)
        at 
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:39)
Caused by: java.lang.OutOfMemoryError: Java heap space

Reply via email to