activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Bain <tb...@alumni.duke.edu>
Subject Re: expired messages --> DLQ ? (when expiration=0)
Date Wed, 04 Apr 2018 12:29:18 GMT
If you think that message expiration should be checked when the publisher
publishes the message, you can submit an enhancement request in JIRA for it.

Tim

On Tue, Apr 3, 2018, 11:15 PM Илья Шипицин <chipitsine@gmail.com> wrote:

> Tim, thank you for your investigation (looks like our client is buggy,
> we'll look at it).
> besides that, doesn't it look strange, accept message and drop it right
> away ? is there a possibility to reject such messages ?
> it will inform client in a better way
>
> 2018-04-04 9:12 GMT+05:00 Tim Bain <tbain@alumni.duke.edu>:
>
> > Ilya,
> >
> > The output you're seeing is from the message as it's being put onto the
> > DLQ. (destination=queue://DLQ.EdiInbound") This means that it has already
> > passed through the set of transformations that occur in
> > orc.apache.activemq.broker.region.RegionBroker.sendToDeadLetterQueue()
> and
> > RegionBroker.stampAsExpired(), which set the originalExpiration property
> to
> > the value of expiration on the original message and then set expiration
> to
> > the DLQ's expiration value (i.e. 0).
> >
> > What that means is that although you think you've set expiration to 0,
> you
> > haven't successfully done that; you can see from both the
> > originalExpiration property and the message of the Throwable in the
> > dlqDeliveryFailureCause that the message's expiration value was
> > 1522739054119,
> > which is why this message got expired to the DLQ.
> >
> > So if you're attempting to disable message expiration for this message,
> you
> > need to look at how you're doing that to figure out what you're doing
> > that's not properly configured.
> > http://activemq.apache.org/how-do-i-set-the-message-expiration.html
> might
> > be relevant, if you haven't already seen it.
> >
> > Tim
> >
> > On Tue, Apr 3, 2018 at 7:22 AM, Илья Шипицин <chipitsine@gmail.com>
> wrote:
> >
> > > hello,
> > >
> > > activemq.log:2018-04-03 10:42:57,961 | INFO  | preProcessDispatch:
> > > MessageDispatch {commandId = 0, responseRequired = false, consumerId =
> > > ID:dd-amq-app01.
> > > sd.kontur.ru-32887-1522738593874-4:1:1:1, destination =
> > > queue://DLQ.EdiInbound, message = ActiveMQTextMessage {commandId = 5,
> > > responseRequired = true, mes
> > > sageId = ID:vm-dc-test8-50009-636572273611169908-4:1826:1:1:1,
> > > originalDestination = queue://EdiInbound, originalTransactionId = null,
> > > producerId = ID:vm-
> > > dc-test8-50009-636572273611169908-4:1826:1:1, destination =
> > > queue://DLQ.EdiInbound, transactionId = null, expiration = 0,
> timestamp =
> > > 1522739053119, arriv
> > > al = 0, brokerInTime = 1522739055628, brokerOutTime = 1522739053126,
> > > correlationId = null, replyTo = null, persistent = true, type = null,
> > > priority = 4, g
> > > roupID = null, groupSequence = 0, targetConsumerId = null, compressed =
> > > false, userID = null, content =
> > > org.apache.activemq.util.ByteSequence@552349c1, ma
> > > rshalledProperties = null, dataStructure = null, redeliveryCounter = 0,
> > > size = 1263, properties = {originalExpiration=1522739054119,
> > > EDI_CORRELATION_ID=21
> > > 008, EDI_FILE_NAME=15.xml, EDI_DOC_TYPE=EDI_DOC_TYPE,
> > > BrokerPath=localhost,localhost,
> > > dlqDeliveryFailureCause=java.lang.Throwable: Message Expired. Expira
> > > tion:1522739054119}, readOnlyProperties = false, readOnlyBody = false,
> > > droppable = false, jmsXGroupFirstForConsumer = false, text = <?xml
> > > version="1.0" en
> > > coding="UTF-8"?>
> > >
> > >
> > > as I can see, "originalDestination = queue://EdiInbound" - so, we tried
> > to
> > > deliver to EdiInbound
> > > expiration is 0 (we did not set it, it's default): expiration = 0
> > >
> > > as we can see, message was expired and delivered to DLQ. it was not
> > > intended behaviour.
> > > also, documentation states that expiration = 0 means "no expiration"
> > >
> > >
> > > please, explain me. I do not understand how expiration=0 lead to DLQ
> > > actually.
> > >
> > > configuration is pretty generic, nothing special. I'll provide
> > > configuration if needed (also, from documentation I read that
> > expiration=0
> > > is not configuration dependent)
> > >
> > > we run 5.15.3
> > >
> > > cheers,
> > > Ilya Shipitsin
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message