2019-07-30 14:45:25 UTC - Howard Zhang: @Howard Zhang has joined the channel ---- 2019-07-31 08:35:23 UTC - Jianfeng Qiao: Hi, I have a question on ack. I notice that in doAcknowledge(), the callback will be called immediately after the Ack command is put into the write buffer of connection. It does not wait for the response of Ack command. ---- 2019-07-31 08:36:57 UTC - Jianfeng Qiao: So, the consumer receiving an ResultOk from the callback does not mean the Ack is successfully handled by broker. ---- 2019-07-31 08:44:33 UTC - Jianfeng Qiao: Forgot to say, it's doAcknowledge() in pulsar-cpp-client ---- 2019-07-31 08:48:37 UTC - Yong Zhang: @Jianfeng Qiao If the broker doesn’t receive the ack, the broker will redeliver the message. So the consumer doesn’t have to wait for ack. I think it’s similar to the java client. ---- 2019-07-31 08:51:49 UTC - Jianfeng Qiao: The consumer will receive duplicate message ---- 2019-07-31 09:04:33 UTC - Yong Zhang: If you don’t set the `ackTimeout`, the message will not be redeliver. And there is no duplicate. ----