lizhimins opened a new pull request, #4304:
URL: https://github.com/apache/rocketmq-dashboard/pull/4304

   Closes #4303
   
   - **MetadataService**: reject topic message type changes (a creation-only 
attribute), add `getTopicStats`, redeliver through `%RETRY%<group>` with the 
RocketMQ system-reserved properties filtered out, and cascade `%DLQ%<group>` 
deletion when a consumer group is deleted
   - **AclService**: guard ACL 2.0 by broker version and add get-by-id lookups
   - **RocketMQAdminClientImpl**: filter system-reserved properties when 
sending, map tag and key explicitly, select the FIFO queue by message group 
hash, and set `TIMER_DELIVER_MS` for delayed messages
   - **NameServerConfigDiffService**: add `read()` over a safe key allowlist
   - **RocketMQDefaultClusterResolver**: advertise the configured admin 
credential reference only when it exists, and fail closed with 422 instead of 
silently dropping ACL credentials during default-cluster discovery
   
   The credential-resolver change is the security-relevant one: previously 
`execute()` called `instance(null)`, which left `adminCredentialRef` empty and 
let the call fall through to the anonymous 3-argument 
`MqAdminExtFactory.execute`, discarding the configured credentials with no 
error. It now adds `DEFAULT_ADMIN_CREDENTIAL_REF = "admin"`, exposes that 
reference only when the credential actually exists, and fails closed with 422 
rather than degrading to an anonymous connection. `names()` keeps anonymous 
discovery for bootstrap. The public shape `find/names/instance/execute` is 
unchanged, and 
`RocketMQClusterResolverTest.credentialReferenceProtectsTheConfiguredAdminConnection`
 is updated to assert the fail-closed behaviour instead of pinning the silent 
drop.
   
   Adds `TopicQueueStatsVO` and extends 
`MessageProvider`/`MessageProviderStub`/`MessageService` plus `SendMessageDTO` 
for the new send semantics.
   
   Tests: 22 files, +1285/−65, including new or extended coverage in 
`MetadataServiceTest`, `AclServiceTest`, `RocketMQAdminClientImplTest`, 
`RocketMQMessageProviderTest`, `RocketMQDLQProviderTest`, 
`NameServerConfigDiffServiceTest`, `MessageServiceTest` and 
`RocketMQClusterResolverTest`.


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