RockteMQ-AI commented on issue #1406:
URL: 
https://github.com/apache/rocketmq-clients/issues/1406#issuecomment-6290430157

   **Issue Evaluation**
   
   Category: `type/bug` | Status: **Confirmed**
   
   The reported issue has been verified against the current codebase.
   
   **Root Cause:** `PushConsumer::receive_messages` looks up the filter 
expression by the assigned message queue's topic name 
(`message_queue.topic.name`), but the subscription table is keyed by the 
user-provided subscription key. When the server returns topic names with an 
instance prefix (e.g., `rmq-xxxxxxxx%my_topic`), the lookup fails because the 
key doesn't match.
   
   **Impact:** 
   - **Critical:** `PushConsumer` / `LitePushConsumer` never receives any 
messages when the server returns prefixed topic names.
   - **Secondary:** The receive loop has no backoff on error — it spins at ~1 
kHz per worker, generating massive log volumes (1.5 GB in 8 minutes reported).
   - The Java client is not affected because it derives filter expressions from 
the subscription table, not the assigned queue.
   
   **Severity:** critical — Consumer completely non-functional in affected 
environments, plus severe log flood.
   
   **Scope:** `rust/src/push_consumer.rs` — `receive_messages` method and 
`MessageQueueActor::start` error handling.
   
   An automated fix proposal will be generated. Reply `/approve` to proceed 
with PR generation.
   
   ---
   *Automated evaluation by RockteMQ-AI*
   


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