RockteMQ-AI commented on issue #1432: URL: https://github.com/apache/rocketmq-clients/issues/1432#issuecomment-6312212502
**Issue Evaluation** Category: `type/bug` | Status: **Confirmed** The reported issue has been verified against the current Rust codebase. **Root Cause:** `Client::start` sets `shutdown_tx` before creating the first session and does not reset it on failure, leaving the client in a half-started state. `SimpleConsumer::start` returns the route lookup error without shutting the client down. `receive_with`, `ack`, and `change_invisible_duration` lack pre-flight `is_started()` checks. **Impact:** Rust SimpleConsumer — after a failed `start()`, subsequent operations silently reconnect or panic instead of returning a clear "not running" error. **Severity:** high — violates the fail-fast principle and can cause panics in `ack()`. **Resolution:** PR #1433 by @leizhiyuan addresses all three root causes: 1. `Client::start` now rolls back `shutdown_tx` on session creation failure 2. `SimpleConsumer::start` calls `shutdown_ref()` on route lookup failure 3. `receive_with`, `ack`, `change_invisible_duration` now check `is_started()` before proceeding The PR includes proper test coverage and has been reviewed. --- *Automated evaluation by github-manager-bot* -- 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]
