apache/rocketmq · error · AuthorizationException

consumer data is null.

Error message

consumer data is null.

What it means

Error "consumer data is null." thrown in apache/rocketmq.

Source

Thrown at auth/src/main/java/org/apache/rocketmq/auth/authorization/builder/DefaultAuthorizationContextBuilder.java:345

                        throw new AuthorizationException("subscription is null.");
                    }
                    result.add(DefaultAuthorizationContext.of(subject,
                        Resource.ofTopic(requireResource(
                            checkClientBody.getSubscriptionData().getTopic(), "topic")),
                        Action.SUB, sourceIp));
                    result.add(DefaultAuthorizationContext.of(subject,
                        Resource.ofGroup(requireResource(checkClientBody.getGroup(), "consumer group")),
                        Action.SUB, sourceIp));
                    break;
                case RequestCode.QUERY_MESSAGE:
                    topic = Resource.ofTopic(requireResource(fields.get(TOPIC), "topic"));
                    result.add(DefaultAuthorizationContext.of(subject, topic, Arrays.asList(Action.SUB, Action.GET), sourceIp));
                    break;
                case RequestCode.HEART_BEAT:
                    HeartbeatData heartbeatData = decodeRequiredBody(command, HeartbeatData.class, "heartbeat");
                    for (ConsumerData data : heartbeatData.getConsumerDataSet()) {
                        if (data == null) {
                            throw new AuthorizationException("consumer data is null.");
                        }
                        group = Resource.ofGroup(requireResource(data.getGroupName(), "consumer group"));
                        result.add(DefaultAuthorizationContext.of(subject, group, Action.SUB, sourceIp));
                        for (SubscriptionData subscriptionData : data.getSubscriptionDataSet()) {
                            if (subscriptionData == null) {
                                throw new AuthorizationException("subscription is null.");
                            }
                            String subscriptionTopic =
                                requireResource(subscriptionData.getTopic(), "topic");
                            if (NamespaceUtil.isRetryTopic(subscriptionTopic)) {
                                continue;
                            }
                            topic = Resource.ofTopic(subscriptionTopic);
                            result.add(DefaultAuthorizationContext.of(subject, topic, Action.SUB, sourceIp));
                        }
                    }
                    break;
                case RequestCode.UNREGISTER_CLIENT:

View on GitHub (pinned to 293f588571)

Solutions

  1. Ensure the consumer data (group, subscriptions) is populated in the heartbeat/registration request.
  2. Verify the consumer client has registered at least one subscription before sending consumer data.
  3. Check client-broker version compatibility for the consumer data payload.

When it happens

Trigger: Occurs when building an authorization context for a request whose consumer data is null.

Common situations: A consumer registration or heartbeat request arrives without consumer data, or the body failed to decode.


AI-assisted analysis of apache/rocketmq@293f588571 (2026-08-14). Data as JSON: /api/errors/cb42313e218f44b3. Report an issue: GitHub.