Hi,

I was looking into the different between acks = 0 and acks = 1 in the
new producer, and was a bit surprised at what I found.

Basically, if I understand correctly, the only difference is that with
acks = 0, if the leader fails to append locally, it closes the network
connection silently and with acks = 1, it sends an actual error
message.

Which seems to mean that with acks = 0, any failed produce will lead
to metadata refresh and a retry (because network error), while acks =
1 will lead to either retries or abort, depending on the error.

Not only this doesn't match the documentation, it doesn't even make
much sense...
"acks = 0" was supposed to somehow makes things "less safe but
faster", and it doesn't seem to be doing that any more. I'm not even
sure there's any case where the "acks = 0" behavior is desirable.

Is it my misunderstanding, or did we somehow screw up the logic here?

Gwen

Reply via email to