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

Guozhang Wang commented on KAFKA-12574:
---------------------------------------

Yeah.. I also felt this procedure requires users to "jump back and forth" in 
their configs to finally upgrade to the new eos too, hence was clarifying with 
you. At the same time, I really cannot find a better name than `EXACTLY_ONCE` 
itself.

Another, more intrusive procedure, would be: directly declare in 3.0 that, 1) 
`eos` would require broker 2.5+, and 2) if you do not want to upgrade, make a 
one-line code change to use `eos-alpha` (this would be newly added). This is, 
admittedly requiring many users to make code change for eos, but still this is 
just a one-liner change and they can get exactly the same behavior if they want 
to stay as-is. We can then consider deprecating `eos-alpha` in 3.1 and removing 
in the future. WDYT?

> Deprecate eos-alpha
> -------------------
>
>                 Key: KAFKA-12574
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12574
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: A. Sophie Blee-Goldman
>            Priority: Major
>             Fix For: 3.0.0
>
>
> In KIP-447 we introduced a new thread-producer which is capable of 
> exactly-once semantics across multiple tasks. The new mode of EOS, called 
> eos-beta, is intended to eventually be the preferred processing mode for EOS 
> as it improves the performance and scaling of partitions/tasks. The only 
> downside is that it requires brokers to be on version 2.5+ in order to 
> understand the latest APIs that are necessary for this thread-producer.
> We should consider deprecating the eos-alpha config, ie 
> StreamsConfig.EXACTLY_ONCE, to encourage new. & existing EOS users to migrate 
> to the new-and-improved processing mode, and upgrade their brokers if 
> necessary.
> Eventually we would like to be able to remove the eos-alpha code paths from 
> Streams as this will help to simplify the logic and reduce the processing 
> mode branching. But since this will break client-broker compatibility, and 
> 2.5 is still a relatively recent version, we probably can't actually remove 
> eos-alpha in the near future



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

Reply via email to