RockteMQ-AI commented on issue #11354:
URL: https://github.com/apache/rocketmq/issues/11354#issuecomment-6110394221

   **Issue Evaluation**
   
   Category: `type/bug` | Status: **Confirmed**
   
   The tombstone reclaim gap is well-analyzed. The three cleanup paths all 
require either client action or presence in `client2Subscription` — once the 
evicted client's last liteTopic is removed and the client goes away without 
sending `COMPLETE_REMOVE`, the tombstone entry becomes unreachable for cleanup.
   
   **Root Cause:** `excludeClientByLmqName` removes the `LiteSubscription` from 
`client2Subscription` when the evicted client's last liteTopic is taken, making 
the tombstone entry orphaned. The expiry cleaner `cleanupExpiredSubscriptions` 
only walks `client2Subscription`, so it cannot see the orphaned tombstone.
   
   **Impact:** O(number of takeovers) memory leak of `clientId$lmqName` keys in 
`ExclusiveEvictionTombstones` over the broker's lifetime. On brokers with 
regular exclusive-mode client churn (autoscaling, rolling restarts), this is a 
grow-only counter.
   
   **Severity:** Medium — memory leak under specific churn conditions, not 
immediate data loss.
   
   An automated fix proposal can be generated. Reply `/approve` to proceed with 
PR generation.
   
   ---
   *Automated evaluation by RocketMQ-AI*


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to