frankjkelly commented on PR #22011:
URL: https://github.com/apache/pulsar/pull/22011#issuecomment-1936543593

   > > > > Thanks for the clarification so does that mean the client will retry 
and if so is that within milliseconds, or seconds or something else?
   > > > 
   > > > 
   > > > @frankjkelly I think the client does not retry automatically and the 
user needs to resend the message manually if message sent fails.
   > > 
   > > 
   > > Hmmm @merlimat or @lhotari can you confirm? If this error requires the 
caller to catch and retry (as opposed to the client doing it internally) then 
that's a concern for adoption of the rate limiter (if the error occurs and the 
client retries as best it can that's OK).
   > 
   > I don't see anything special about rate limiters in message delivery and 
retries. The Pulsar client is designed to continue attempting to send messages 
until a potential send timeout occurs. It's also possible to set up an 
unlimited send timeout, allowing the client to retry indefinitely. This feature 
is detailed in the Pulsar documentation, available at 
https://pulsar.apache.org/docs/3.1.x/cookbooks-deduplication/#pulsar-clients 
(it's explained in the context of message deduplication). You can refer to the 
Javadocs for [sendTimeout on 
ProducerBuilder](https://pulsar.apache.org/api/client/3.1.x/org/apache/pulsar/client/api/ProducerBuilder.html#sendTimeout(int,java.util.concurrent.TimeUnit)).
   > 
   > It's crucial for messaging applications to be equipped to handle potential 
failures in message delivery, especially when data consistency is a key 
concern. Once the Pulsar client has acknowledged the message as sent by 
returning the message id, the responsibility for maintaining and ensuring the 
delivery of the message shifts to Pulsar. It's also necessary to verify that 
the message id is returned when using the asynchronous API 
([sendAsync](https://pulsar.apache.org/api/client/3.1.x/org/apache/pulsar/client/api/Producer.html#sendAsync(T))).
   > 
   > If sending results in an error or the messaging application never receives 
a message id from the Pulsar client, it's the messaging application's 
responsibility to retry.
   > 
   > @frankjkelly, did I answer your question?
   
   You did - Thanks @lhotari 


-- 
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: commits-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to