Active MQ Blocks when sending and receiving messages and doesn't release
resources even after queue is empty
------------------------------------------------------------------------------------------------------------
Key: AMQ-2500
URL: https://issues.apache.org/activemq/browse/AMQ-2500
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.2.0
Environment: JDK 1.6.0.x, Windows XP and Vista, ActiveMQ
Default-configurations
Reporter: Matthias Strolz
The following test-programm reads and writes messages into the same queue
(testQueue). After Reading several messages the class starts two threads that
are writing messages in the same queue. After writing several messages the
producer hangs on:
producer.send()
and doesn't recover even if the reader continues reading messages from the
queue. Even stopping the clients (via kill) doesn't change the broker's
behaviour. In this state further connections opened from other clients hang on
the same method call (producer.send()). The client's connections will remain
open as you can see in the jconsole-screenshot, that has been taken after the
producer in the example hung. Althogh the consumer may continue reading new
producer can only continue writing messages into the queue after activeMQ has
been restarted.
The following two snippets show the difference between the first
(127.0.0.1:49372) and the second (127.0.0.1:49385) message producer: The first
producer works as expected and adds it's messages to the queue. The second
producer stops with the following log-entry: 2009-11-13 09:41:45,639
[127.0.0.1:49385] DEBUG AbstractRegion - Adding consumer:
ID:JoergsPC-49370-1258101701975-0:14:-1:1
...
2009-11-13 09:41:42,376 [eue://testQueue] DEBUG Queue
- queue://testQueue - Recovery - Message pushed '21290107 - Message
ID:JoergsPC-50687-1258047095293-0:2810:1:1:1 dropped=false locked=false' to
subscription: 'QueueSubscription:
consumer=ID:JoergsPC-49370-1258101701975-0:0:1:1, destinations=1,
dispatched=197, delivered=0, pending=0'
2009-11-13 09:41:42,376 [eue://testQueue] DEBUG Queue
- queue://testQueue - Recovery - Message pushed '31931917 - Message
ID:JoergsPC-50687-1258047095293-0:2811:1:1:1 dropped=false locked=false' to
subscription: 'QueueSubscription:
consumer=ID:JoergsPC-49370-1258101701975-0:0:1:1, destinations=1,
dispatched=198, delivered=0, pending=0'
2009-11-13 09:41:42,376 [eue://testQueue] DEBUG Queue
- queue://testQueue - Recovery - Message pushed '10144386 - Message
ID:JoergsPC-50687-1258047095293-0:2812:1:1:1 dropped=false locked=false' to
subscription: 'QueueSubscription:
consumer=ID:JoergsPC-49370-1258101701975-0:0:1:1, destinations=1,
dispatched=199, delivered=0, pending=0'
2009-11-13 09:41:42,381 [127.0.0.1:49372] DEBUG WireFormatNegotiator
- Received WireFormat: WireFormatInfo { version=3, properties={CacheSize=1024,
CacheEnabled=true, SizePrefixDisabled=false,
MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true,
MaxInactivityDuration=30000, TightEncodingEnabled=true,
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
2009-11-13 09:41:42,381 [127.0.0.1:49372] DEBUG WireFormatNegotiator
- Sending: WireFormatInfo { version=3, properties={CacheSize=1024,
CacheEnabled=true, SizePrefixDisabled=false,
MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true,
MaxInactivityDuration=30000, TightEncodingEnabled=true,
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
2009-11-13 09:41:42,382 [127.0.0.1:49372] DEBUG WireFormatNegotiator
- tcp:///127.0.0.1:49372 before negotiation: OpenWireFormat{version=3,
cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false,
sizePrefixDisabled=false}
2009-11-13 09:41:42,394 [127.0.0.1:49372] DEBUG WireFormatNegotiator
- tcp:///127.0.0.1:49372 after negotiation: OpenWireFormat{version=3,
cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
sizePrefixDisabled=false}
2009-11-13 09:41:42,395 [127.0.0.1:49372] DEBUG TransportConnection
- Setting up new connection: /127.0.0.1:49372
2009-11-13 09:41:42,409 [127.0.0.1:49372] DEBUG AbstractRegion
- Adding consumer: ID:JoergsPC-49370-1258101701975-0:1:-1:1
2009-11-13 09:41:42,414 [127.0.0.1:49372] DEBUG AbstractRegion
- Adding destination: topic://ActiveMQ.Advisory.Producer.Queue.testQueue
2009-11-13 09:41:42,416 [127.0.0.1:49372] DEBUG AMQMessageStore
- Journalled message add for: ID:JoergsPC-49370-1258101701975-0:1:1:1:1, at:
offset = 10684963, file = 4, size = 270, type = 1
2009-11-13 09:41:42,416 [eue://testQueue] DEBUG AMQMessageStore
- Doing batch update... adding: 1 removing: 0
2009-11-13 09:41:42,417 [eue://testQueue] DEBUG AMQMessageStore
- Batch update done.
2009-11-13 09:41:42,418 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 7, to: 8
2009-11-13 09:41:42,418 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 1, to: 2
2009-11-13 09:41:42,425 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 8, to: 9
2009-11-13 09:41:42,433 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 9, to: 10
2009-11-13 09:41:42,440 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 10, to: 11
2009-11-13 09:41:42,470 [127.0.0.1:49371] DEBUG AbstractRegion
- Removing consumer: ID:JoergsPC-49370-1258101701975-0:0:1:1
2009-11-13 09:41:42,474 [127.0.0.1:49371] DEBUG AMQMessageStore
- flush starting ...
2009-11-13 09:41:42,474 [127.0.0.1:49371] DEBUG AbstractRegion
- Removing consumer: ID:JoergsPC-49370-1258101701975-0:0:-1:1
2009-11-13 09:41:42,477 [127.0.0.1:49371] DEBUG TransportConnection
- Stopping connection: /127.0.0.1:49371
...
...
2009-11-13 09:41:45,319 [eue://testQueue] DEBUG Queue
- queue://testQueue - Recovery - Message pushed '21569784 - Message
ID:JoergsPC-50687-1258047095293-0:3422:1:1:1 dropped=false locked=false' to
subscription: 'QueueSubscription:
consumer=ID:JoergsPC-49370-1258101701975-0:13:1:1, destinations=1,
dispatched=797, delivered=0, pending=0'
2009-11-13 09:41:45,320 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 181, to: 182
2009-11-13 09:41:45,327 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 182, to: 183
2009-11-13 09:41:45,331 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 183, to: 184
2009-11-13 09:41:45,332 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 45, to: 46
2009-11-13 09:41:45,338 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 184, to: 185
2009-11-13 09:41:45,344 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 185, to: 186
2009-11-13 09:41:45,349 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 186, to: 187
2009-11-13 09:41:45,356 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 187, to: 188
2009-11-13 09:41:45,356 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 46, to: 47
2009-11-13 09:41:45,442 [127.0.0.1:49384] DEBUG AbstractRegion
- Removing consumer: ID:JoergsPC-49370-1258101701975-0:13:1:1
2009-11-13 09:41:45,445 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 188, to: 189
2009-11-13 09:41:45,443 [127.0.0.1:49372] DEBUG AbstractRegion
- Removing consumer: ID:JoergsPC-49370-1258101701975-0:1:-1:1
2009-11-13 09:41:45,632 [127.0.0.1:49372] DEBUG TransportConnection
- Stopping connection: /127.0.0.1:49372
2009-11-13 09:41:45,632 [127.0.0.1:49372] DEBUG TcpTransport
- Stopping transport tcp:///127.0.0.1:49372
2009-11-13 09:41:45,632 [127.0.0.1:49372] DEBUG TransportConnection
- Stopped transport: /127.0.0.1:49372
2009-11-13 09:41:45,632 [127.0.0.1:49372] DEBUG TransportConnection
- Connection Stopped: /127.0.0.1:49372
2009-11-13 09:41:45,636 [127.0.0.1:49385] DEBUG WireFormatNegotiator
- Sending: WireFormatInfo { version=3, properties={CacheSize=1024,
CacheEnabled=true, SizePrefixDisabled=false,
MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true,
MaxInactivityDuration=30000, TightEncodingEnabled=true,
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
2009-11-13 09:41:45,638 [127.0.0.1:49385] DEBUG WireFormatNegotiator
- Received WireFormat: WireFormatInfo { version=3, properties={CacheSize=1024,
CacheEnabled=true, SizePrefixDisabled=false,
MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true,
MaxInactivityDuration=30000, TightEncodingEnabled=true,
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
2009-11-13 09:41:45,638 [127.0.0.1:49385] DEBUG WireFormatNegotiator
- tcp:///127.0.0.1:49385 before negotiation: OpenWireFormat{version=3,
cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false,
sizePrefixDisabled=false}
2009-11-13 09:41:45,638 [127.0.0.1:49385] DEBUG WireFormatNegotiator
- tcp:///127.0.0.1:49385 after negotiation: OpenWireFormat{version=3,
cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
sizePrefixDisabled=false}
2009-11-13 09:41:45,638 [127.0.0.1:49385] DEBUG TransportConnection
- Setting up new connection: /127.0.0.1:49385
2009-11-13 09:41:45,639 [127.0.0.1:49385] DEBUG AbstractRegion
- Adding consumer: ID:JoergsPC-49370-1258101701975-0:14:-1:1
2009-11-13 09:41:45,641 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 189, to: 190
2009-11-13 09:41:45,647 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 190, to: 191
2009-11-13 09:41:45,653 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 191, to: 192
2009-11-13 09:41:45,653 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 47, to: 48
2009-11-13 09:41:45,658 [eue://testQueue] DEBUG Usage
- Memory usage change. from: 192, to: 193
2009-11-13 09:41:45,663 [127.0.0.1:49384] DEBUG Usage
- Memory usage change. from: 193, to: 192
2009-11-13 09:41:45,663 [127.0.0.1:49384] DEBUG Usage
- Memory usage change. from: 192, to: 191
2009-11-13 09:41:45,663 [127.0.0.1:49384] DEBUG Usage
- Memory usage change. from: 48, to: 47
2009-11-13 09:41:45,663 [127.0.0.1:49384] DEBUG Usage
- Memory usage change. from: 191, to: 190
2009-11-13 09:41:45,664 [127.0.0.1:49384] DEBUG Usage
- Memory usage change. from: 190, to: 189
2009-11-13 09:41:45,664 [127.0.0.1:49384] DEBUG AMQMessageStore
- flush starting ...
2009-11-13 09:41:45,664 [127.0.0.1:49384] DEBUG AbstractRegion
- Removing consumer: ID:JoergsPC-49370-1258101701975-0:13:-1:1
2009-11-13 09:41:45,665 [127.0.0.1:49384] DEBUG TransportConnection
- Stopping connection: /127.0.0.1:49384
...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.