activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Илья Шипицин <chipits...@gmail.com>
Subject Re: expired messages --> DLQ ? (when expiration=0)
Date Wed, 04 Apr 2018 13:16:46 GMT
well, before submitting issue, I'd like to ask if there's already a
possibility to configure that way.
ok, got your point, will open a request

2018-04-04 17:29 GMT+05:00 Tim Bain <tbain@alumni.duke.edu>:

> 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