[
https://issues.apache.org/jira/browse/KAFKA-9342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17012064#comment-17012064
]
John Roesler commented on KAFKA-9342:
-------------------------------------
Hey [~lkokhreidze],
As promised, I added the proposal to the wiki:
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Streams+DSL+Grammar
I also sent a message to the mailing list to start a discussion about it.
(Subject: "A Grammar for the Kafka Streams DSL") Would very much appreciate
your thoughts on it.
With respect to this ticket, following the proposal would make backward
compatibility trivial, since the config classes would all get new names
(*Params), so they could all just be make immutable from the start, and the old
ones can be deprecated.
> Consider making all Kafka Streams DSL configuration classes immutable
> ---------------------------------------------------------------------
>
> Key: KAFKA-9342
> URL: https://issues.apache.org/jira/browse/KAFKA-9342
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: Levani Kokhreidze
> Priority: Major
>
> Currently, Kafka Streams DSL config classes are mix of *mutable*
> _org.apache.kafka.streams.kstream.Consumed,
> org.apache.kafka.streams.kstream.Materialized_ and *immutable*
> _org.apache.kafka.streams.kstream.Joined,
> org.apache.kafka.streams.kstream.Grouped_ classes.
> Consider unifying all config classes of the DSL operations and make them
> immutable. Backward compatibility should be taken into account when making
> config classes immutable. For example, things may break if user has code
> similar to this:
>
> {code:java}
> final Materialized<K, V, S> materialized = Materialized.as("my-store");
> if (someCondition()) {
> materialized.withCachingDisabled();
> }{code}
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)