Looking at the code, it does look like appending a message set to a partition will succeed or fail as a whole.
You can look at Log.append() for the exact logic if you are interested. Gwen On Wed, Feb 11, 2015 at 6:13 AM, Piotr Husiatyński <p...@optiopay.com> wrote: > Hi, > > I'm writing new client library for kafka and I cannot find information > about > atomicity of message set publishing. I'm implementing protocol described on > wiki [1]. According to documentation, it is possible to send within single > request more than one message - message set for any partition. > In response, there is error code for every partition separately. Does this > mean, that while writing messages to different partitions can fail, writing > multiple messages to one partition as message set is atomic and can either > fail or succeed for all of them? > > > [1] > https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol >