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]

Reply via email to