apache/rocketmq · error · AuthorizationException
group is not allowed for producer heartbeat.
Error message
group is not allowed for producer heartbeat.
What it means
Error "group is not allowed for producer heartbeat." thrown in apache/rocketmq.
Source
Thrown at auth/src/main/java/org/apache/rocketmq/auth/authorization/builder/DefaultAuthorizationContextBuilder.java:137
SendMessageRequest request = (SendMessageRequest) message;
if (request.getMessagesCount() <= 0) {
throw new AuthorizationException("message is null.");
}
result = newPubContext(metadata, request.getMessages(0).getTopic());
}
if (message instanceof RecallMessageRequest) {
RecallMessageRequest request = (RecallMessageRequest) message;
result = newPubContext(metadata, request.getTopic());
}
if (message instanceof EndTransactionRequest) {
EndTransactionRequest request = (EndTransactionRequest) message;
result = newPubContext(metadata, request.getTopic());
}
if (message instanceof HeartbeatRequest) {
HeartbeatRequest request = (HeartbeatRequest) message;
if (StringUtils.isNotBlank(request.getGroup().getName())) {
if (request.getClientType() == ClientType.PRODUCER) {
throw new AuthorizationException("group is not allowed for producer heartbeat.");
}
result = newGroupSubContexts(metadata, request.getGroup());
}
}
if (message instanceof ReceiveMessageRequest) {
ReceiveMessageRequest request = (ReceiveMessageRequest) message;
if (!request.hasMessageQueue()) {
throw new AuthorizationException("messageQueue is null.");
}
result = newSubContexts(metadata, request.getGroup(), request.getMessageQueue().getTopic());
}
if (message instanceof SyncLiteSubscriptionRequest) {
SyncLiteSubscriptionRequest request = (SyncLiteSubscriptionRequest) message;
result = newSubContexts(metadata, request.getGroup(), request.getTopic());
}
if (message instanceof AckMessageRequest) {
AckMessageRequest request = (AckMessageRequest) message;
result = newSubContexts(metadata, request.getGroup(), request.getTopic());View on GitHub (pinned to 293f588571)
Solutions
- Use the correct consumer group when sending a producer heartbeat; a consumer group is not permitted for producer heartbeats.
- Verify the client is registering as a producer (not consumer) for this heartbeat request.
- Fix misconfigured group names in the producer's heartbeat registration.
When it happens
Trigger: Occurs when a producer heartbeat request includes a group that is not permitted for producer heartbeats.
Common situations: A consumer group or an unexpected group name is used in a producer heartbeat request.
AI-assisted analysis of apache/rocketmq@293f588571 (2026-08-14).
Data as JSON: /api/errors/ecc086a75392e3d1.
Report an issue: GitHub.