-
Bug
-
Resolution: Done
-
Major
-
JBoss A-MQ 6.2.1
-
None
if the client clock is slightly ahead of the brokers clock a message could be expired on the client but not considered expired on the broker.
When the expiry ack is sent to the broker it checks if the message is also considered expired on the broker side. If the broker clock is behind the client side clock the message could be considered not expired on the broker and not
removed from the broker's dispatched list. This leaves the broker reporting a message inflight from the broker's perspective even though the message has been expired on the consumer(client) side
The broker checks when it receives the expiry ack in org.apache.activemq.broker.region.PrefetchSubscription#acknowledge(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.MessageAck)
Perhaps the broker should respect the client side expiry when it is active rather than checking for itself ? Otherwise it will be difficult to reconcile the broker's view and clients view.
- relates to
-
ENTMQ-1824 [message expiry, consumer side] pull request hangs if message expires on client side in org.apache.activemq.ActiveMQMessageConsumer
- Closed
-
AMQ-6361 Loading...