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

  1. Verify the exact groupId spelling and that the consumer has connected at least once
  2. List available consumer groups to confirm the target exists
  3. 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

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


AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05). Data as JSON: /api/errors/e5515f12e536c725. Report an issue: GitHub.