Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Current stateUnder Discussion

Discussion thread: here 

JIRA: KAFKA-6874

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

This KIP will add a new config "enable.topology.optimization" to the StreamsConfig class.  Setting ENABLE_TOPOLOGY_OPTIMIZATION to any String value "true" will enable optimization, setting this configuration to null disables optimization and is the default settingto "false" or no value at all disables optimization.  The default setting is "false".

Code Block
languagejava
titleStreamsConfig.java
public static final Stringboolean ENABLE_TOPOLOGY_OPTIMIZATION = "enable.topology.optimization" 
private static final String ENABLE_TOPOLOGY_OPTIMIZATION_DOC = "A configuration telling Kafka Streams if it should optimize the topology, nullfalse by default"


Compatibility, Deprecation, and Migration Plan

There is no backward compatibility issue as we are not deprecating or changing any public API. 

Since the default value is false, the underlying change should be transparent to the user.  Users , with no impact if optimization is turned off. 

The impact of turning on optimization may result in a different topology than as initially written.   As a result, users electing to use optimization should see the same results from their topology with no changes to their current code.plan for shutting down all instances, cleaning up any local state and internal topics using the Streams-reset tool then starting the application again with optimization turned on via configs.  

Rejected Alternatives

None