315157973 commented on issue #8712:
URL: https://github.com/apache/pulsar/issues/8712#issuecomment-735231764


   I checked this and found it to be a bug. Now the broker has an `ackSet` to 
record the ack position of a message in `BatchMessage`. But the client did not 
return this ack position when calling `GetLastMessageId`. This will happen:
   The MessagId of seek is `3:31:-1:0` and the lastMessageIdInBroker is 
`3:31:-1`.
   Therefore, when compareTo is called, it must return <0, which causes 
hasMessageAvailable to return false.
   When the producer starts batch sending, if the returned message is 
`BatchMessageId`, this problem will be triggered. If it is `MessageIdImpl`, it 
will pass the test.
   I will try to fix it


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

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to