activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kiorsak (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQ-3194) persistent messages disappear (lost!!) upon expiry rather than ending up in a DLQ
Date Tue, 01 Mar 2011 05:17:37 GMT
persistent messages disappear (lost!!) upon expiry rather than ending up in a DLQ
---------------------------------------------------------------------------------

                 Key: AMQ-3194
                 URL: https://issues.apache.org/jira/browse/AMQ-3194
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.4.2
         Environment: Java 1.6, Sun Solaris
            Reporter: Oleg Kiorsak
            Priority: Critical


Here is the setup:
 
ActiveMQ 5.4.2 using JDBC persistence (MSSQLServerExpress DB)... (just one server connect
- no "master/slave cluster"...)
 
1000 simulated clients send persistent messages every 10 seconds - 10 messages each
 
so in total they enqueue 10000 messages into INBOUND queue (via a virtual destination 'MDT.INBOUND'
that does a bit of "forking")
<compositeQueue name="MDT.INBOUND" forwardOnly="true">
<forwardTo>
                                                <queue physicalName="INBOUND" />
                                                <queue physicalName="ARCHIVING-DST" />
                        </forwardTo>
 
 
So within a minute or so - I can see 10000 messages all in 'INBOUND' via SQL Server queries

messages TTL is set to 5 mins, so within 5 mins messages start expiriring...
 
BUT only some messages would end up in ActiveMQ.DLQ, whilst the others seem to disappear in
thin air (!!)
 
interestingly, the JMX counters (e.g. via jConsole) will actually show the missing number
of messages as being in the 'INBOUND' queue
but as a matter of fact they are NOT there (which can be confirmed by SQL queries as well)
 
this happens sporadically... i.e. sometimes it would actually work ok - as expected - all
expired messages ending up in DLQ,
but other times always about a hundred or so messages were missing
 
 
For example I just ran this 5 times - 2 times then restarted ActiveMQ (very "gently" - via
the 'stop' command in jConsole) and ran again twice
 
Here are the numbers (see attached xls as well)
 
						After ActiveMQ RESTART				
		After 1st run		After 2nd run		and 3rd run		after 4th run		after 5th run
										
JMX	Archiving-Q' QueueSize	10000		20000		30000		40000		50000
	ActiveMQ.DLQ 'QueueSize	10000		19589		29589		39589		48848
	INBOUND' QueueSize	0		411	??	0	hm... were did those 411 go?!!	0		741
	INBOUND' EnqueCount	10000		20000		10000		20000		30000
	INBOUND' DequeCount	10000		19589		10000		20000		29259
	INBOUND' ExpiredCpount	10000		19589		10000		20000		29259
										
DB	Archiving-Q	10000		20000		30000		40000		50000
	ActiveMQ.DLQ	10000		19589		29589		39589		48848
	INBOUND	0		0		0				0
										
 


-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message