We are using the Java producer API (0.8.2.1 if I am not mistaken). We are
using producer type of sync though.

On Tue, May 12, 2015 at 3:50 PM Magnus Edenhill <mag...@edenhill.se> wrote:

> Hi Scott,
>
> what producer client are you using?
>
> Reordering is possible in async producers in the case of temporary broker
> failures
> and the combination of request.required.acks != 0 and retries > 0.
>
> Consider the case where a producer has 20 messages in-flight to the broker,
> out of those
> messages # 1-10 fails due to some temporary failure (?) on the broker side,
> but message # 11-20 are accepted.
> When the producer receives error results from the broker for message # 1-10
> it will try to resend
> these 10 failed messages, that are now accepted, causing them to end up
> after message #20 in the log - thus reordered.
>
> This failure scenario should be rather rare though.
>
>
> Regards,
> Magnus
>
> 2015-05-12 20:18 GMT+02:00 Scott Chapman <sc...@woofplanet.com>:
>
> > We are basically using kafka as a transport mechanism for multi-line log
> > files.
> >
> > So, for this we are using single partition topics (with a replica for
> good
> > measure) writing to a multi-broker cluster.
> >
> > Our producer basically reads a file line-by-line (as it is being written
> > to) and publishes each line as a message to the topic. We are also
> writing
> > as quickly as we can (not waiting for ACK).
> >
> > What I am seeing is occasionally the messages in the topic appear to be
> > slightly out of order when compared to the source file they were based
> on.
> >
> > I am wonder if this might happen when the producer switches brokers
> because
> > we are not waiting for the ACK before continuing to write.
> >
> > Does this make any sense??
> >
> > Thanks in advance!
> >
> > -Scott
> >
>

Reply via email to