yx9o opened a new issue, #10962:
URL: https://github.com/apache/rocketmq/issues/10962

   ### Before Creating the Enhancement Request
   
   - [x] I have confirmed that this should be classified as an enhancement 
rather than a bug/feature.
   
   
   ### Summary
   
   Improve Lite subscription quota validation in proxy by applying the quota 
check only to Lite subscription add actions.
   
   Currently, proxy validates `liteTopicSet.size()` against `liteSubClientQuota 
+ quotaBuffer` before syncing Lite subscriptions. This validation should apply 
to `PARTIAL_ADD` and `COMPLETE_ADD`, but not to remove actions.
   
   ### Motivation
   
   Lite subscription quota is used to limit subscription growth. Remove actions 
release existing subscriptions and should not be blocked by the same quota 
validation.
   
   For example, a client may add Lite subscriptions in several smaller 
`PARTIAL_ADD` requests and later remove them in one larger `PARTIAL_REMOVE` 
request. The remove request can contain more Lite topics than the quota 
threshold, but it only reduces the active subscription set.
   
   
   ### Describe the Solution You'd Like
   
   Update `ClientProcessor#syncLiteSubscription` so that Lite subscription 
quota validation is only applied to add actions:
   
   - `PARTIAL_ADD`
   - `COMPLETE_ADD`
   
   Skip this quota validation for remove actions:
   
   - `PARTIAL_REMOVE`
   - `COMPLETE_REMOVE`
   
   This keeps the quota protection for subscription growth while allowing large 
unsubscribe requests to release resources normally.
   
   
   ### Describe Alternatives You've Considered
   
   One alternative is to keep validating all actions with non-empty 
`liteTopicSet`, but this treats remove requests as if they were adding 
subscriptions.
   
   Another alternative is to introduce a separate request-size limit for Lite 
subscription sync requests. That may be useful independently, but it should not 
reuse `LITE_SUBSCRIPTION_QUOTA_EXCEEDED`, because subscription quota and 
request size are different concepts.
   
   
   ### Additional Context
   
   _No response_


-- 
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