You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2020/01/01 21:17:03 UTC

[GitHub] [pulsar] jerrypeng edited a comment on issue #5969: Acked messages unexpectedly redelivered when others are negatively acked

jerrypeng edited a comment on issue #5969: Acked messages unexpectedly redelivered when others are negatively acked
URL: https://github.com/apache/pulsar/issues/5969#issuecomment-570084167
 
 
   @sijie @gmethvin we could track cursors at the batchLevel i.e. track cursors on the granularity of LedgerId:EntryId:BatchIndex, however there are performance implications if we would want to redeliver only messages that are NOT ACK ed or NACK ed.  To do so would require us to de-serialized BK entries on the broker side, filter the messages in the entry, re-serialize the message, send it to the client, and finally the client with have to deserialize.  To do this would entail more latency and 2X cpu effort for serialization and de-serialization. We have generally avoid entry inspection in the broker for such a reason.  
   
   The question I have is if a user really wants to get only the messages that the user did not ACK or NACK ed, can the user just turn off batching? Or if the user wants fewer duplicates from redelivered messages/batches, can the user just tune the batch size to be smaller?  Are these good enough workflows or knobs to turn for users to satisfy these use cases?
   
   @merlimat can you also chime in?

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services