t8y2/dbx · error
consumer group not found: %s
Error message
consumer group not found: %s
What it means
getSubscriptionGroupConfig collects all subscription group configs from the brokers and looks up the requested groupID; a nil result means the consumer group has never been created/used on this cluster, so it errors with the group name embedded.
Source
Thrown at agents/drivers/rocketmq/consumers.go:169
}
return okResult(), nil
}
func (a *rocketMQAgent) getSubscriptionGroupConfig(params map[string]any) (any, error) {
groupID, err := requireString(params, "groupId")
if err != nil {
return nil, err
}
_, config, _ := a.requireClient()
ctx, cancel := context.WithTimeout(context.Background(), config.RequestTimeout)
defer cancel()
configs, err := a.collectSubscriptionGroupConfigs(ctx)
if err != nil {
return nil, err
}
groupConfig := configs[groupID]
if groupConfig == nil {
return nil, fmt.Errorf("consumer group not found: %s", groupID)
}
return subscriptionGroupConfigMap(groupConfig), nil
}
func (a *rocketMQAgent) alterSubscriptionGroupConfig(params map[string]any) (any, error) {
groupID, err := requireString(params, "groupId")
if err != nil {
return nil, err
}
_, config, _ := a.requireClient()
ctx, cancel := context.WithTimeout(context.Background(), config.RequestTimeout)
defer cancel()
configs, collectErr := a.collectSubscriptionGroupConfigs(ctx)
if collectErr != nil {
return nil, collectErr
}
groupConfig := configs[groupID]
if groupConfig == nil {View on GitHub (pinned to c0390bff16)
Solutions
- Verify the exact groupId spelling and that the consumer has connected at least once
- List available consumer groups to confirm the target exists
- Create the subscription group or point the call at the correct cluster
Example fix
// before getSubscriptionGroupConfig(ctx, "order-consumer") // group never created // after getSubscriptionGroupConfig(ctx, "order_consumer_group") // exact existing groupId
Defensive patterns
Strategy: try-catch
Validate before calling
groups, err := agent.Dispatch(ctx, "consumers.list", map[string]any{})
if err != nil { return err }
if !containsGroup(groups, "order_consumer_group") {
return fmt.Errorf("group order_consumer_group does not exist on this cluster")
} Type guard
func groupExists(configs map[string]map[string]any, groupID string) bool {
return configs[groupID] != nil
} Try / catch
cfg, err := getSubscriptionGroupConfig(ctx, groupID)
if err != nil && strings.HasPrefix(err.Error(), "consumer group not found") {
return createSubscriptionGroup(ctx, groupID) // or surface clear UX error
} Prevention
- Copy groupIds from a cluster listing, not from memory
- Confirm environment/stage before querying consumer groups
- Create groups explicitly before reading their config
When it happens
Trigger: dispatch consumer-group get/config action with a groupId that doesn't exist in collectSubscriptionGroupConfigs output.
Common situations: Typo'd groupId; querying a group that hasn't consumed yet; wrong environment/cluster (group exists in prod, not in staging); group deleted by config cleanup.
Understand the failure class
Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.
Related errors
- MongoDB collection '<sourceName>' was not found
- unsupported reset position: %s
- Agent runtime thread limits must be positive
- Databend procedure names with special characters are not sup
- Unsupported object type: null
AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05).
Data as JSON: /api/errors/e5515f12e536c725.
Report an issue: GitHub.