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] Commented: (AMQ-3194) persistent messages disappear (lost!!) upon expiry rather than ending up in a DLQ
Date Tue, 01 Mar 2011 05:25:36 GMT

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

Oleg Kiorsak commented on AMQ-3194:
-----------------------------------

this feels slightly similar to https://issues.apache.org/jira/browse/AMQ-2756 
but it is substantially different
however, chances are it might be caused by the same underlying "audit" and "composite destinations"
complications...



> 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