RockteMQ-AI commented on issue #1316:
URL:
https://github.com/apache/rocketmq-clients/issues/1316#issuecomment-5267926619
**Issue Evaluation**
Category: `bug` | Status: **Confirmed — Critical Regression**
The reported issue has been verified. This is a critical regression
introduced in v5.1.4 that completely breaks the Go Producer when `WithTopics()`
is not used.
**Root Cause:** The new blocking wait loop in `defaultClient.startUp()`
(lines 599-606) waits for `cli.inited` to become `true`, but `inited` is only
set by `onSettingsCommand()`, which requires a Telemetry stream. The Telemetry
stream is only established when `getMessageQueues()` is called with a non-empty
topic list. When `initTopics` is empty (the default and most common usage), the
loop blocks forever.
**Impact:** Any Go application using `Producer.Start()` without
`WithTopics()` will hang indefinitely. This is a complete service outage — the
producer never becomes usable, and all subsequent `Send()` calls block on the
mutex.
**Severity:** Critical — complete service unavailability for the most common
usage pattern.
**Regression:** Confirmed. v5.1.1-rc1 returned immediately from `startUp()`
and worked correctly with lazy route fetching. v5.1.4 introduced this blocking
wait without accounting for the empty-topics case.
**Suggested Fix:** Option A (skip the wait when `initTopics` is empty) is
the minimal, non-breaking fix that restores the v5.1.1 behavior. Option B
(establish Telemetry unconditionally) is more robust but requires more changes.
Option C (add timeout) is a safety net but not a complete fix.
**Workaround for users:** Pass at least one topic via
`WithTopics("your_topic")` when creating the producer.
An automated fix proposal can be generated. Reply `/approve` to proceed with
PR generation.
---
*Automated evaluation by github-manager*
--
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]