t8y2/dbx · error
RocketMQ proxy manager is closed
Error message
RocketMQ proxy manager is closed
What it means
Returned by proxyManager.ProxyFor in the rocketmq driver when a new proxy endpoint is requested after the manager was closed (connection teardown). The closed flag makes the proxy fail closed: no new local listeners are created once the client shuts down, preventing dangling proxies.
Source
Thrown at agents/drivers/rocketmq/routing.go:70
}
func (manager *proxyManager) ProxyFor(original string, kind proxyTargetKind) (string, error) {
original = strings.TrimSpace(original)
if original == "" {
return "", fmt.Errorf("empty RocketMQ endpoint")
}
manager.mu.RLock()
if endpoint := manager.byOriginal[original]; endpoint != nil {
address := endpoint.listener.Addr().String()
manager.mu.RUnlock()
return address, nil
}
manager.mu.RUnlock()
manager.mu.Lock()
defer manager.mu.Unlock()
if manager.closed {
return "", fmt.Errorf("RocketMQ proxy manager is closed")
}
if endpoint := manager.byOriginal[original]; endpoint != nil {
return endpoint.listener.Addr().String(), nil
}
targets, fallback := manager.routeTargetsLocked(original, kind)
listener, err := net.Listen("tcp", "127.0.0.1:0")
if err != nil {
return "", fmt.Errorf("start RocketMQ endpoint proxy: %w", err)
}
endpoint := &proxyEndpoint{original: original, targets: targets, fallback: fallback, listener: listener, manager: manager}
local := listener.Addr().String()
manager.byOriginal[original] = endpoint
manager.originalByLocal[local] = original
go endpoint.serve()
return local, nil
}
func (manager *proxyManager) routeTargetsLocked(original string, kind proxyTargetKind) ([]string, bool) {View on GitHub (pinned to c0390bff16)
Solutions
- Do not issue new requests on a closed RocketMQ client; reconnect first
- Check for concurrent disconnect/reconnect racing in-flight operations
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at agents/drivers/rocketmq/routing.go:70 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05).
Data as JSON: /api/errors/1c22ea44956b67af.
Report an issue: GitHub.