tpiperatgod commented on PR #18929:
URL: https://github.com/apache/pulsar/pull/18929#issuecomment-1427713593

   > @tpiperatgod Could you explain how these changes together ensure the 
`effectively_once` processing guarantee?
   
   Sorry for not finishing it before. It is currently available for review.
   
   this PR does the following
   1. maintain a `message id - producer obj` map during runtime
   2. when a message comes in, generate the `producer_name`, `producer_id` and 
the `sequence_id` based on the message information
   3. use `producer_id` to check if the corresponding producer obj exists: if 
it exists, set `self.producer` to that producer obj; otherwise, create a new 
producer obj using `producer_name`
   4. assign the `sequence_id` when sending the message
   
   


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

Reply via email to