RockteMQ-AI commented on issue #1284:
URL: 
https://github.com/apache/rocketmq-clients/issues/1284#issuecomment-4729218460

   **Issue Evaluation**
   
   Category: `type/enhancement` | Status: **Evaluated**
   
   **Feasibility:** Feasible
   **Scope:** Go client SDK — `LitePushConsumer.SubscribeLite` and related types
   **Compatibility:** No breaking changes; purely additive API
   
   This is a well-defined feature request to bring Go client parity with the 
Java client's `OffsetOption` support for lite topic subscriptions.
   
   **Assessment:**
   - The protobuf protocol already supports 
`SyncLiteSubscriptionRequest.offset_option`, so no server-side or protocol 
changes are needed.
   - The Java client implementation provides a clear reference for the Go 
equivalent.
   - The proposed API surface (`LastOffset`, `MinOffset`, `MaxOffset`, 
`NewOffsetOptionWithOffset`, `NewOffsetOptionWithTailN`, 
`NewOffsetOptionWithTimestamp`) aligns with the existing Java semantics and the 
protobuf `Policy` enum.
   - This is a self-contained change within the Go client module with no impact 
on other language SDKs or the broker.
   
   **Suggested implementation approach:**
   1. Define `OffsetOption` struct and constructor functions in the Go client.
   2. Map `OffsetOption` to the protobuf `OffsetOption` message in 
`SyncLiteSubscriptionRequest`.
   3. Update `LitePushConsumer.SubscribeLite` to accept a variadic or optional 
`OffsetOption` parameter.
   4. Add unit tests covering each offset policy variant.
   
   This feature is ready for community discussion and implementation. If a 
contributor would like to work on this, feel free to comment.
   
   ---
   *Automated evaluation by github-manager-bot*
   


-- 
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