Simon Lundstrom created AMQ-7061: ------------------------------------ Summary: Message Expired even though it should be discarded Key: AMQ-7061 URL: https://issues.apache.org/jira/browse/AMQ-7061 Project: ActiveMQ Issue Type: Bug Affects Versions: 5.15.3 Environment: Debian 9.5
java version "1.8.0_162" Java(TM) SE Runtime Environment (build 1.8.0_162-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode) Reporter: Simon Lundstrom Original at [http://markmail.org/message/ym7ivylhu7q5ozce] We're running 5.15.3 and we're using <[https://github.com/ARGOeu/nagios-plugins-activemq/]> for monitoring (SSL'ed) OpenWire. Healthchecks fail and to not get our aliveness-check queue filled with old messages we added TTL via <[https://github.com/ARGOeu/nagios-plugins-activemq/blob/3d6d43c/lib/OpenWireProbe/src/org/activemq/probes/OpenWireProbe.java#L124-L126]>. We got one DLQ'd OpenWire check message and just discarded it but when we got the second one I started to investigate. The message which got put into the DLQ has the propery: dlqDeliveryFailureCause java.lang.Throwable: Message Expired. Expiration:1537468027378 Our configuration related to the queue aliveness-test in activemq.xml is: [...] <authorizationEntry queue="aliveness-test.>" read="monitoring" write="monitoring" admin="admins" /> [...] <queue physicalName="aliveness-test"/> [...] <policyEntry queue="aliveness-test"> <!-- Tell the dead letter strategy not to process expired messages so that they will just be discarded instead of being sent to the DLQ --> <deadLetterStrategy> <sharedDeadLetterStrategy processExpired="false" /> </deadLetterStrategy> </policyEntry> [...] I just noticed a bug that our TTL is set to 60ms (instead of seconds) but that's just how fast ActiveMQ is ; ) So I don't think that's related. So what we expect is for those messages to just get deleted but instead we they get DLQ'd into ActiveMQ.DLQ (since no DLQ is configured). -- This message was sent by Atlassian JIRA (v7.6.3#76005)