+1 This fix effectively reduces the comprehension burden for Gopher. -- Best Regards! crossoverJie
Zike Yang <z...@apache.org> 于2025年3月7日周五 10:22写道: > Hi Baodi, > > +1 > This breaking change looks good to me. We should ensure the Go > client's behavior is as consistent as possible with the Java client's. > > Thanks, > Zike Yang > > On Thu, Mar 6, 2025 at 11:04 PM Yunze Xu <x...@apache.org> wrote: > > > > Hi Baodi, > > > > There is a similar discussion before: > > https://lists.apache.org/thread/ryn7pq0ctfd5372ww1gsplkplz2sjc0d > > > > Since the PR is ready to change the behavior, let's discuss again to > > make more people know. IMO, it's +1 to me if there is no complaint > > from the community (the replies previous mail list are all +1). > > > > To correct one point, after this PR, configuring > > `StartMessageIDInclusive=true` is still inconsistent with previous > > behavior. For example, given 2 messages 0 and 1, > > - Before: start exclusive > > - Now (StartMessageIDInclusive): start inclusive > > The behaviors are the same only when you seek to a message ID. > > > > Thanks, > > Yunze > > > > On Thu, Mar 6, 2025 at 10:16 PM Baodi Shi <ba...@apache.org> wrote: > > > > > > https://github.com/apache/pulsar-client-go/pull/1340 > > > > > > In this PR, I fixed the inconsistency in the Go client regarding the > > > behavior of `HasNext, Next, and receive` after `seek`. However, > > > there's a point of contention due to a breaking change. > > > > > > Refer to comment: > > > > https://github.com/apache/pulsar-client-go/pull/1340#discussion_r1978554860 > > > > > > Currently, the Go client doesn't consider StartMessageIDInclusive for > > > seek. The current behavior is: > > > ``` > > > consumer.seek(msgid-5) > > > consumer.receive() > > > // will receives from msgid-5 > > > ``` > > > > > > After this PR, user need to set StartMessageIDInclusive=true to > > > maintain the original behavior (which is consistent with the current > > > Java client implementation; you can refer to the test: > > > > https://github.com/apache/pulsar/blob/a1f3322ed358ab6841f0d3e43f2afcc54788b887/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/SubscriptionSeekTest.java#L142-L165 > ). > > > > > > In the Java client, StartMessageIDInclusive does affect seek. Perhaps > > > the name of this configuration wasn't ideal initially, but there is a > > > comment in the Java client: > > > > https://github.com/apache/pulsar/blob/f199e8805f517373dbcc0f0c4a132218ecc24f0a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerBuilder.java#L699 > > > > > > Regardless, it changes the existing behavior of the Go client but > > > aligns it with the Java client. > > > > > > I hope the PR gets merged. I've updated the documentation and will add > > > a label to this PR so it can be included in the release notes for the > > > next release to inform users. > > > > > > I would like to hear your suggestions. > > > > > > Thanks, > > > Baodi Shi >