Aias00 opened a new issue, #10768:
URL: https://github.com/apache/rocketmq/issues/10768

   ### Problem
   
   `RouteActivity#queryRoute` stops iterating all queue data when one queue row 
has no matching broker entry in the built broker map.
   
   Current code:
   
   ```java
   Map<Long, Broker> brokerIdMap = brokerMap.get(brokerName);
   if (brokerIdMap == null) {
       break;
   }
   ```
   
   Because this uses `break`, a single malformed or stale `QueueData` entry can 
truncate the whole route response and hide later valid queues.
   
   ### Expected behavior
   
   A missing broker entry should only skip that malformed queue row. The proxy 
should continue processing remaining queue rows that still have valid broker 
mappings.
   
   ### Impact
   
   This can produce partial or empty gRPC `QueryRoute` responses when route 
metadata contains a stale queue row before valid rows. That affects Proxy/gRPC 
route discovery and can make clients miss usable queues.
   
   ### Suggested fix
   
   Change the missing broker-map path from `break` to `continue` and add a 
regression test with:
   
   - one queue row whose broker name is absent from `brokerMap`
   - one later queue row with a valid broker mapping
   - assertion that the valid later queue still appears in the query route 
response
   


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