apache/rocketmq · error · AuthorizationException
lite subscription is null.
Error message
lite subscription is null.
What it means
Error "lite subscription is null." thrown in apache/rocketmq.
Source
Thrown at auth/src/main/java/org/apache/rocketmq/auth/authorization/builder/DefaultAuthorizationContextBuilder.java:448
String unlockTopic = requireResource(messageQueue.getTopic(), "topic");
if (NamespaceUtil.isRetryTopic(unlockTopic)) {
continue;
}
topic = Resource.ofTopic(unlockTopic);
result.add(DefaultAuthorizationContext.of(subject, topic, Action.SUB, sourceIp));
}
}
break;
case RequestCode.LITE_SUBSCRIPTION_CTL:
LiteSubscriptionCtlRequestBody liteSubscriptionBody = decodeRequiredBody(
command, LiteSubscriptionCtlRequestBody.class, "lite subscription");
if (CollectionUtils.isEmpty(liteSubscriptionBody.getSubscriptionSet())) {
throw new AuthorizationException("lite subscription is empty.");
}
Set<String> liteSubscriptionResources = new LinkedHashSet<>();
for (LiteSubscriptionDTO subscription : liteSubscriptionBody.getSubscriptionSet()) {
if (subscription == null) {
throw new AuthorizationException("lite subscription is null.");
}
addUniqueContext(result, liteSubscriptionResources, subject,
Resource.ofGroup(requireResource(subscription.getGroup(), "consumer group")),
Action.SUB, sourceIp);
addUniqueContext(result, liteSubscriptionResources, subject,
Resource.ofTopic(requireResource(subscription.getTopic(), "topic")),
Action.SUB, sourceIp);
}
break;
case RequestCode.UPDATE_BROKER_CONFIG:
result.add(DefaultAuthorizationContext.of(subject,
Resource.ofCluster(authConfig.getClusterName()), Action.UPDATE, sourceIp));
break;
case RequestCode.UPDATE_AND_CREATE_TOPIC_LIST:
CreateTopicListRequestBody topicListBody = decodeRequiredBody(
command, CreateTopicListRequestBody.class, "topic list");
if (CollectionUtils.isEmpty(topicListBody.getTopicConfigList())) {
throw new AuthorizationException("topic list is empty.");View on GitHub (pinned to 293f588571)
Solutions
- Pass a non-null lite subscription object when invoking the lite subscription API.
- Check client code paths building the lite subscription request so the field is always set.
- Verify serialization compatibility between client and broker versions.
When it happens
Trigger: Occurs when a lite subscription request carries no subscription data.
Common situations: Lite subscription request body is missing or failed to decode, leaving the subscription field null.
AI-assisted analysis of apache/rocketmq@293f588571 (2026-08-14).
Data as JSON: /api/errors/6fc0311a313a3a4f.
Report an issue: GitHub.