RobertIndie commented on a change in pull request #12403:
URL: https://github.com/apache/pulsar/pull/12403#discussion_r756558399
##########
File path:
pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
##########
@@ -1975,6 +1982,9 @@ public void seek(Function<String, Object> function)
throws PulsarClientException
ackSet.recycle();
seek = Commands.newSeek(consumerId, requestId,
msgId.getLedgerId(), msgId.getEntryId(), ackSetArr);
+ } else if(messageId instanceof ChunkMessageIdImpl){
+ ChunkMessageIdImpl msgId = (ChunkMessageIdImpl) messageId;
+ seek = Commands.newSeek(consumerId, requestId,
msgId.getFirstChunkMessageId().getLedgerId(),
msgId.getFirstChunkMessageId().getEntryId(), new long[0]);
Review comment:
> but it's not guaranteed that you will get publish ACK of first chunk
before you publish last chunk.
As I said earlier. We don't need that guarantee. I think this is the
confusing point of the discussion. The firstChunkMessageId that the consumer
gets at the time of seek is not given by the producer, but is calculated at the
consumer side.
I think my previous comments would help understand:
https://github.com/apache/pulsar/pull/12403#discussion_r747272455
--
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]