Description
with failover transport. multiple non persistent producers and consumers on a single queue and transport disconnects, it is possible for a messages to get dispatched to a removed subscription or consumer. These messages are locked and hence cannot get dispatched to new consumers when the network ins reconnected. From a consumer perspective it looks like there are missing messages.
The problem occurs is messages are being dispatched while subscription removal occurring. The list of consumers is modified, inflight messages are removed from the subscription, unlocked and re dispatched. However, dispatch of messages is not synchronised with this removal and it is possible to dispatch to a removed consumer. Any such messages will be locked and never re dispatched.