f1amingo opened a new pull request, #10570: URL: https://github.com/apache/rocketmq/pull/10570
### Which Issue(s) This PR Fixes - Fixes #10569 ### Brief Description Add server-side support for Lite Simple Consumer. Currently RocketMQ Lite Topic only supports Lite Push Consumer; this PR enables the pull-based (Simple Consumer) consumption pattern for Lite Topics. **Broker** - `NotificationProcessor`: add a dedicated `PopLiteLongPollingService` so lite consumers can use the notification (long-polling) protocol. Lite consumer requests check message availability via `LiteEventDispatcher.hasEvents(clientId)` and skip retry-topic lookup. - `LiteEventDispatcher`: refactor `notifyMessageArriving` into a private helper that wakes both `PopLiteMessageProcessor` and `NotificationProcessor` polling services. Expose `hasEvents(clientId)` for availability checks. - `BrokerController`: manage `popLiteLongPollingService` lifecycle (start/shutdown). **Proxy** - `ProxyContext`: add `clientType` / `isLiteConsumer()` so lite-consumer context is accessible throughout the proxy layer. - `ConsumerProcessor.popMessage`: route internally based on `ctx.isLiteConsumer()` — lite consumers use `PopLiteMessageRequestHeader`, normal consumers use `PopMessageRequestHeader`. Removes the separate `popLiteMessage` code path. - `MessagingProcessor` / `DefaultMessagingProcessor`: remove standalone `popLiteMessage` interface method (now unified). - `ClientActivity` / `GrpcClientSettingsManager`: register `LITE_SIMPLE_CONSUMER` in all client lifecycle switch statements (register, unregister, heartbeat, consume-type, message-model). - `ReceiveMessageActivity` / `ReceiveMessageResponseStreamWriter`: pass `liteTopic` property only for lite consumers; normal consumers get `null`. **Remoting** - `NotificationRequestHeader`: add `isLiteConsumer` and `clientId` fields so the broker can distinguish lite consumer notification requests. ### How Did You Test This Change? - Updated `ReceiveMessageActivityTest` to mock the unified `popMessage` path. - Manual verification with local broker + proxy cluster. -- 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]
