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]
