Peter James Pringle created KAFKA-13915:
-------------------------------------------

             Summary: Kafka streams should validate that the repartition topics 
are not created with cleanup.policy compact
                 Key: KAFKA-13915
                 URL: https://issues.apache.org/jira/browse/KAFKA-13915
             Project: Kafka
          Issue Type: Improvement
          Components: streams
    Affects Versions: 2.8.1
            Reporter: Peter James Pringle


Add sanity validation on streams start up that *repartition* topics are not 
setup with *cleanup.policy* of {*}compact{*}.

In enterprise envs automated creation of kafka streams intermediate topics is 
not always possible due to policy restrictions and as a result it is done 
manually which  is prone to user misconfiguration.

In several cases we have found the repartition topics have been incorrectly 
setup following the changelog topic setup with compact enabled. The result 
being that a compacted repartition topic will result in data loss if more that 
one value is mapped to the new key.

 

Example:

 

{{Original data: (coffee, drink), (tea, drink), (beer, drink)}}

 

Repartition by type i.e. drink:

 

Expected:

{{(drink, coffee), (drink, tea), (drink, beer)}}

 

With compaction the following is possible:

 

Actual

{{(drink, beer); }}

coffee and tea are lost.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to