Details
Description
QueueEntries can hold Subscriptions which rejected them in memory after they are closed, due to the implementation of the isRejectedBy() method. This is further compounded by the Subscriptions having a reference to the channel/session they belong to, which in the case of a 0-10 ServerSession can be an extremely heavy weight object in the wrong conditions. The isRejectedBy() implementation should be updated to function without requiring a reference to the Subscription itself, thus preventing the retention leak.
I have had a simple patch for this for a while, its just waiting for QPID-3386 being done (which it almost is, will get it committed shortly).
Attachments
Issue Links
- depends upon
-
QPID-3386 subscriptions on 0-8/0-9/0-9-1 based connections share a ID generator, but subscriptions on 0-10 connection use their own
- Closed