apache/rocketmq · error · AuthorizationException
subscription is null.
Error message
subscription is null.
What it means
Error "subscription is null." thrown in apache/rocketmq.
Source
Thrown at auth/src/main/java/org/apache/rocketmq/auth/authorization/builder/DefaultAuthorizationContextBuilder.java:327
result.add(DefaultAuthorizationContext.of(subject,
Resource.ofGroup(requireResource(assignmentBody.getConsumerGroup(), "consumer group")),
Action.SUB, sourceIp));
break;
case RequestCode.SET_MESSAGE_REQUEST_MODE:
SetMessageRequestModeRequestBody modeBody = decodeRequiredBody(
command, SetMessageRequestModeRequestBody.class, "message request mode");
result.add(DefaultAuthorizationContext.of(subject,
Resource.ofTopic(requireResource(modeBody.getTopic(), "topic")),
Action.SUB, sourceIp));
result.add(DefaultAuthorizationContext.of(subject,
Resource.ofGroup(requireResource(modeBody.getConsumerGroup(), "consumer group")),
Action.UPDATE, sourceIp));
break;
case RequestCode.CHECK_CLIENT_CONFIG:
CheckClientRequestBody checkClientBody = decodeRequiredBody(
command, CheckClientRequestBody.class, "client config");
if (checkClientBody.getSubscriptionData() == null) {
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.");View on GitHub (pinned to 293f588571)
Solutions
- Provide a valid SubscriptionData (topic, expression) in the request before sending it.
- Verify the consumer's subscription is registered and included in the request payload.
- Check that client and broker versions serialize SubscriptionData compatibly.
When it happens
Trigger: Occurs when building an authorization context for a request whose subscription data is null.
Common situations: A consumer request arrives without subscription data, or the subscription failed to decode.
AI-assisted analysis of apache/rocketmq@293f588571 (2026-08-14).
Data as JSON: /api/errors/6cac9f22132e6f62.
Report an issue: GitHub.