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

A. Sophie Blee-Goldman commented on KAFKA-12574:
------------------------------------------------

I would expect users who don't read the upgrade guide to at least be somewhat 
careful when performing a rolling upgrade, especially when it's a breaking 
change release, and at least check that the bounced node had successfully 
restarted before they go about bouncing the rest of them. And in that case, the 
first bounced node would fail immediately and clearly. So only if they (a) 
skipped the upgrade guide, and (b) did not monitor a single node during the 
rolling upgrade, would they experience an outage. FWIW I'm a little on the 
fence about (4) as well, but a user would have to be pretty nonchalant to 
experience a full blown outage.

A slightly better take on 3 might be to make the new config 
StreamsConfig#EXACTLY_ONCE_SEMANTICS -- basically take advantage of the fact 
that the current config is just EXACTLY_ONCE/EXACTLY_ONCE_BETA, and pop the 
_SEMANTICS suffix on there so we can avoid coming up with a new name. I guess 
we could also deprecate AT_LEAST_ONCE and replace it with 
AT_LEAST_ONCE_SEMANTICS for full consistency 

> 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: Blocker
>              Labels: needs-kip
>             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