tju-yxq opened a new pull request, #1402:
URL: https://github.com/apache/rocketmq-dashboard/pull/1402

   ## What is the purpose of the change
   
   Fixes #1401
   
   Three separate `isSystemGroup` / `isSystemConsumerGroup` implementations had 
inconsistent filtering rules. `RocketMQMetadataProvider` checked `CID_ONS_` 
(which does not match `CID_ONSAPI_*` due to the underscore), and 
`RocketMQDashboardProvider` was missing `%RETRY%`, `%DLQ%`, `CID_SYS_`, and 
`CID_HOUSEKEEPING` filters. This caused system consumer groups to leak into 
topic consumer lists and inflate dashboard group counts.
   
   ## Brief changelog
   
   - **New `SystemGroupFilter.java`**: Shared utility class consolidating all 
system group prefixes from the three implementations into one authoritative 
list.
   - **`RocketMQMetadataProvider.java`**: Replaced `isSystemConsumerGroup` with 
call to `SystemGroupFilter.isSystem()`. Fixes the `CID_ONS_` vs `CID_ONSAPI_` 
prefix bug and adds missing `CID_SYS_`, `SELF_TEST_`, `CID_HOUSEKEEPING` 
filters.
   - **`RocketMQDashboardProvider.java`**: Replaced `isSystemGroup` with call 
to `SystemGroupFilter.isSystem()`. Adds missing `%RETRY%`, `%DLQ%`, `CID_SYS_`, 
`CID_HOUSEKEEPING` filters.
   - **`RocketMQClientProvider.java`**: Replaced `isSystemGroup` with call to 
`SystemGroupFilter.isSystem()`. Adds missing `rmq_sys_` and `%DLQ%` filters 
(this implementation was already the most complete).
   
   ## Verifying this change
   
   1. Start a RocketMQ cluster with `CID_ONSAPI_OWNER` system groups.
   2. Before fix: `CID_ONSAPI_OWNER` appears in topic consumers list.
   3. After fix: `CID_ONSAPI_OWNER` is filtered out.
   
   - [x] Make sure there is a Github issue filed for the change.
   - [x] Format the pull request title like `[ISSUE #1401] ...`.
   - [x] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
   - [x] Write necessary unit-test to verify your logic correction.
   - [x] Run `mvn -B clean apache-rat:check findbugs:findbugs 
checkstyle:checkstyle` to make sure basic checks pass.
   - [ ] If this contribution is large, please file an Apache Individual 
Contributor License Agreement.


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