As per Broker documentation the replay period in arrival filter determines a time interval ( in seconds) for which the arriving messages enqueued into queue within given interval before consumer attach have to be delivered to the consumer. Thus, all message on the queue with arrival time greater than (consumer attach time - replay period) should be delivered to the consumer. If filter is specified on consumer attach, the delivery works as expected. However, if arrival filter is specified as default queue filter, the broker behaviour is not documentation compliant:
- the broker delivers to consumer only messages with arrival time greater than (consumer attach time + replay period)
- the replay period is treated as being set in milliseconds rather than in seconds
The issue only impacts use cases when arrival filter with non-zero replay period is set as queue default filter.