f1amingo opened a new issue, #10569: URL: https://github.com/apache/rocketmq/issues/10569
### Is Your Feature Request Related to a Problem? Currently, RocketMQ Lite Topic only supports the Lite Push Consumer model. However, some use cases require a pull-based consumption pattern (Simple Consumer) for Lite Topics, which is not yet supported on the server side. ### Describe the Solution You Would Like Add server-side support for Lite Simple Consumer, including: 1. **Broker**: Extend `NotificationProcessor` with a dedicated `PopLiteLongPollingService` so lite consumers can use the notification (long-polling) protocol. `LiteEventDispatcher` now also wakes up the notification-side polling service, and exposes a `hasEvents(clientId)` API for message-availability checks. 2. **Proxy**: Unify the lite and normal pop-message paths into a single `popMessage` call, routing internally based on `ProxyContext.isLiteConsumer()`. Register `LITE_SIMPLE_CONSUMER` in all client lifecycle switch statements (`ClientActivity`, `GrpcClientSettingsManager`). Pass lite-topic property only for lite consumers. 3. **Remoting**: Add `isLiteConsumer` and `clientId` fields to `NotificationRequestHeader` so the broker can distinguish lite consumer notification requests. ### Describe Alternatives You Have Considered Keeping a separate `popLiteMessage` API in the proxy layer, but this duplicates code paths and increases maintenance cost. ### Additional Context This change is purely additive and backward-compatible — existing Pop/Push/Simple consumers are unaffected. -- 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]
