You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Levani Kokhreidze (Jira)" <ji...@apache.org> on 2019/12/29 20:03:00 UTC
[jira] [Updated] (KAFKA-9342) Consider making all Kafka Streams DSL
configuration classes immutable
[ https://issues.apache.org/jira/browse/KAFKA-9342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Levani Kokhreidze updated KAFKA-9342:
-------------------------------------
Description:
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 for user if he or she has the code similar to this:
{code:java}
final Materialized<K, V, S> materialized = Materialized.as("my-store");
if (someCondition()) {
materialized.withCachingDisabled();
}{code}
was:
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 for user if he or she has the code similar to this:
{code:java}
final Materialized<K, V, S> materialized = Materialized.as("my-store");
if (someCondition()) {
materialized.withCachingDisabled();
}{code}
> 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 for user if he or she has the 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)