leiless opened a new issue #10832:
URL: https://github.com/apache/pulsar/issues/10832


   ## `send()`
   
   > `MessageId send(T message) throws PulsarClientException`
   > Sends a message.
   > This call will be blocking until is successfully **acknowledged** by the 
Pulsar broker.
   > ...
   > **Returns**:
   > the message id assigned to the published message
   > ...
   > 
https://pulsar.apache.org/api/client/org/apache/pulsar/client/api/Producer.html#send-T-
   
   ## `sendAsync()`
   > `CompletableFuture<MessageId> sendAsync(T message)`
   > Send a message asynchronously
   > When the producer queue is full, by default this method will complete the 
future with an exception `PulsarClientException.ProducerQueueIsFullError`
   > ...
   > **Returns**:
   > a future that can be used to track when the message will have been safely 
persisted
   > 
https://pulsar.apache.org/api/client/org/apache/pulsar/client/api/Producer.html#sendAsync-T-
   
   Hi, Pulsar developers, my doubt is, if I have `N` messages to be sent by the 
producer.
   For the first `[0, N-1]` messages, I use `sendAsync()` and ignore the future 
result(`CompletableFuture<MessageId>`).
   And for the last message, i.e., the `N`-th message, I use `send()` to ensure 
`N`-th message is successfully **acknowledged**(persisted in the disk) by the 
Pulsar broker.
   
   My question is, does the `N`-th message ACKed from the broker imply that its 
proceedings(i.e. `[0, N-1]` messages) also ACKed(persisted in the disk) by the 
broker? since the message queue order has to be remaining FIFO.
   
   My config:
   * One producer
   * One subscription in exclusive mode
   * One consumer


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


Reply via email to