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]

Reply via email to