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

Patrick O'Keeffe commented on KAFKA-12453:
------------------------------------------

Thanks for following up on this [~mjsax], [~ableegoldman]. A few (perhaps 
dumb/obvious) questions, but I want to make sure I have understood correctly:
 # Are we saying that its safe to enable topology optimisation when we have a 
toTable() operation, regardless of whether it is the first node in a 
sub-topology or if it is preceded by a key changing operator?
 # If so, does this mean there are no caveats re topology optimisation, and its 
safe to enable in any topology? 

In which case, why not make it a non-configurable default? Its a good 
optimisation, which can save a lot of broker load as you avoid the republish to 
changelog topics. In our company, we are dealing with fast moving trading data 
(50k + / sec), and the reduction in broker load is not insignificant. Also, its 
one less thing to consider at deployment time 

 

> Guidance on whether a topology is eligible for optimisation
> -----------------------------------------------------------
>
>                 Key: KAFKA-12453
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12453
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Patrick O'Keeffe
>            Priority: Major
>
> Since the introduction of KStream.toTable() in Kafka 2.6.x, the decision 
> about whether a topology is eligible for optimisation is no longer a simple 
> one, and is related to whether toTable() operations are preceded by key 
> changing operators.
> This decision requires expert level knowledge, and there are serious 
> implications associated with getting it wrong in terms of fault tolerance
> Some ideas spring to mind around how to guide developers to make the correct 
> decision:
>  # Topology.describe() could indicate whether this topology is eligible for 
> optimisation
>  # Topologies could be automatically optimised - note this may have an impact 
> at deployment time, in that an application reset may be required. The 
> developer would need to made aware of this and adjust the deployment plan 
> accordingly
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to