{"record":{"id":"ecc086a75392e3d1","repo":"apache/rocketmq","slug":"group-is-not-allowed-for-producer-heartbeat","errorCode":null,"errorMessage":"group is not allowed for producer heartbeat.","messagePattern":"group is not allowed for producer heartbeat\\.","errorType":"exception","errorClass":"AuthorizationException","httpStatus":null,"severity":"error","filePath":"auth/src/main/java/org/apache/rocketmq/auth/authorization/builder/DefaultAuthorizationContextBuilder.java","lineNumber":137,"sourceCode":"            SendMessageRequest request = (SendMessageRequest) message;\n            if (request.getMessagesCount() <= 0) {\n                throw new AuthorizationException(\"message is null.\");\n            }\n            result = newPubContext(metadata, request.getMessages(0).getTopic());\n        }\n        if (message instanceof RecallMessageRequest) {\n            RecallMessageRequest request = (RecallMessageRequest) message;\n            result = newPubContext(metadata, request.getTopic());\n        }\n        if (message instanceof EndTransactionRequest) {\n            EndTransactionRequest request = (EndTransactionRequest) message;\n            result = newPubContext(metadata, request.getTopic());\n        }\n        if (message instanceof HeartbeatRequest) {\n            HeartbeatRequest request = (HeartbeatRequest) message;\n            if (StringUtils.isNotBlank(request.getGroup().getName())) {\n                if (request.getClientType() == ClientType.PRODUCER) {\n                    throw new AuthorizationException(\"group is not allowed for producer heartbeat.\");\n                }\n                result = newGroupSubContexts(metadata, request.getGroup());\n            }\n        }\n        if (message instanceof ReceiveMessageRequest) {\n            ReceiveMessageRequest request = (ReceiveMessageRequest) message;\n            if (!request.hasMessageQueue()) {\n                throw new AuthorizationException(\"messageQueue is null.\");\n            }\n            result = newSubContexts(metadata, request.getGroup(), request.getMessageQueue().getTopic());\n        }\n        if (message instanceof SyncLiteSubscriptionRequest) {\n            SyncLiteSubscriptionRequest request = (SyncLiteSubscriptionRequest) message;\n            result = newSubContexts(metadata, request.getGroup(), request.getTopic());\n        }\n        if (message instanceof AckMessageRequest) {\n            AckMessageRequest request = (AckMessageRequest) message;\n            result = newSubContexts(metadata, request.getGroup(), request.getTopic());","sourceCodeStart":119,"sourceCodeEnd":155,"githubUrl":"https://github.com/apache/rocketmq/blob/293f5885719fc4aa3619446a1900f58ccfcfdd29/auth/src/main/java/org/apache/rocketmq/auth/authorization/builder/DefaultAuthorizationContextBuilder.java#L119-L155","documentation":"Error \"group is not allowed for producer heartbeat.\" thrown in apache/rocketmq.","triggerScenarios":"Occurs when a producer heartbeat request includes a group that is not permitted for producer heartbeats.","commonSituations":"A consumer group or an unexpected group name is used in a producer heartbeat request.","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."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"293f5885719fc4aa3619446a1900f58ccfcfdd29","analyzedAt":"2026-08-14T11:50:13.822Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}