messere1 opened a new issue, #11435: URL: https://github.com/apache/rocketmq/issues/11435
### Before Creating the Bug Report - [x] I found a bug, not just asking a question, which should be created in [GitHub Discussions](https://github.com/apache/rocketmq/discussions). - [x] I have searched the [GitHub Issues](https://github.com/apache/rocketmq/issues) and [GitHub Discussions](https://github.com/apache/rocketmq/discussions) of this repository and believe that this is not a duplicate. - [x] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ. ### Runtime platform environment Any. ### RocketMQ version develop branch (dc70260b7) ### JDK Version Any. ### Describe the Bug `PopLiteMessageProcessor#preCheck` reserves a log slot for the consumer when the parent topic of a lite pop request does not exist, but never passes the argument: ```java TopicConfig topicConfig = brokerController.getTopicConfigManager().selectTopicConfig(requestHeader.getTopic()); if (null == topicConfig) { LOGGER.error("The parentTopic {} not exist, consumer: {} ", requestHeader.getTopic()); response.setCode(ResponseCode.TOPIC_NOT_EXIST); ... } ``` The message template has two `{}` placeholders but only one argument. With SLF4J semantics the second placeholder is rendered literally, so the log line is: ``` The parentTopic xxx not exist, consumer: {} ``` The consumer group (available in `PopLiteMessageRequestHeader#getConsumerGroup()`) never appears. When a parent topic is deleted or a client is misconfigured, this ERROR is the only server-side trace of affected consumers — without the group, operators cannot tell who is impacted. ### Steps to Reproduce Unit-level, deterministic (`PopLiteMessageProcessorTest` harness): 1. Build a `PopLiteMessageRequestHeader` with a topic that `TopicConfigManager#selectTopicConfig` returns `null` for and `consumerGroup = "groupA"`. 2. Call `popLiteMessageProcessor.preCheck(ctx, requestHeader, response)`; it returns `TOPIC_NOT_EXIST`. 3. Capture the formatted log event for logger `RocketmqPopLite`: the message is `The parentTopic xxx not exist, consumer: {}` — `groupA` is absent. ### What Did You Expect to See? `The parentTopic xxx not exist, consumer: groupA` ### What Did You See Instead? `The parentTopic xxx not exist, consumer: {}` ### Additional Context Only this line in the lite pop path has a placeholder/argument mismatch (verified by scanning all `LOGGER`/`POP_LOGGER` calls in `PopLiteMessageProcessor`, `LiteEventDispatcher`, `LiteSubscriptionRegistryImpl`, `PopLiteLongPollingService` and `NotificationProcessor` for the lite area). The sibling processor `NotificationProcessor` logs the remote address in the equivalent branch, so the pattern of identifying the caller is established — here the consumer group from the request header is the natural identifier. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
