You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Ewen Cheslack-Postava (JIRA)" <ji...@apache.org> on 2016/12/30 21:10:58 UTC

[jira] [Commented] (KAFKA-4556) unordered messages when multiple topics are combined in single topic through stream

    [ https://issues.apache.org/jira/browse/KAFKA-4556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15788347#comment-15788347 ] 

Ewen Cheslack-Postava commented on KAFKA-4556:
----------------------------------------------

Can you be more specific about what your streams topology looks like and is doing? First, timestamps are not strictly guaranteed to be monotonically increasing (especially when specified by the producer). But more importantly, ordering in Kafka is only guaranteed within a partition. In the output topic, are you writing the messages using keys such that the messages would end up on the same partition and preserve ordering? If you aren't, then they will be produced to different partitions and it is expected that downstream consumers might see them in a different order. (Also note that to preserve ordering in the face of errors, you'd also need to make sure your producer uses settings to avoid reordering due to errors, i.e. max.in.flight.requests.per.connection=1, acks=all, retries=infinite.)

> unordered messages when multiple topics are combined in single topic through stream
> -----------------------------------------------------------------------------------
>
>                 Key: KAFKA-4556
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4556
>             Project: Kafka
>          Issue Type: Bug
>          Components: consumer, producer , streams
>    Affects Versions: 0.10.0.1
>            Reporter: Savdeep Singh
>
> When binding builder with multiple topics, single resultant topic has unordered set of messages.
> This issue is at millisecond level. When messages with same milisecond level are added in topics.
> Scenario :  (1 producer : p1 , 2 topics t1 and t2, streams pick form these 2 topics and save in resulting t3 topic, 4 partitions of t3 and 4 consumers of 4 partitions )
> Case: When p1 adds messages with same millisecond timestamp into t1 and t2 . Stream combine and form t3. When this t3 is consumed by consumer, it has different order of same millisecond messages.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)