Aias00 opened a new issue, #903: URL: https://github.com/apache/rocketmq-dashboard/issues/903
### What happened? `RocketMQDLQProvider.collectDeadLetters` calls `DefaultMQPullConsumer.fetchSubscribeMessageQueues(dlqTopic)` and immediately iterates the returned set. If the RocketMQ client returns `null`, the enhanced for-loop throws a `NullPointerException`. The catch block swallows that as a generic collection failure and returns an empty list. `resendMessages` can then audit the operation as `matched=0, resent=0, failed=0`, which makes an incomplete queue lookup look like a successful no-op DLQ resend. ### Location - `server/src/main/java/org/apache/rocketmq/studio/rocketmq/RocketMQDLQProvider.java` ### Expected behavior The provider should handle a null or empty DLQ queue set explicitly before iterating it. This avoids relying on an exception path and keeps DLQ resend behavior deterministic when RocketMQ returns incomplete queue metadata. ### Scope This is part of the RocketMQ Studio BASE-01 baseline for DLQ query/resend stability. ### Suggested fix Guard the queue set before the iteration and add a unit test for the null return case. -- 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]
