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]
