Status
Current state: Under 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).
Motivation
With the release of 2.0 Kafka Streams will introduce topology optimization, the goal of which is to reduce the footprint Kafka Streams creates especially with repartition and changelog topics. To that end, we would like to introduce a new config "enable.topology.optimization". The default value for this new configuration will be false.
Public Interfaces
There are no changes planned to public interfaces with this change.
Proposed Changes
This KIP will add a new config "enable.topology.optimization" to the StreamsConfig
class.
public static final String 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, false 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 electing to use optimization should see the same results from their topology with no changes to their current code.
Rejected Alternatives
None