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]

Reply via email to