THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- The main motivation of this KIP is stated in the related jira: "Today the downstream sub-topology's parallelism (aka the number of tasks) are purely dependent on the upstream sub-topology's parallelism, which ultimately depends on the source topic's num. partitions. However this does not work perfectly with dynamic scaling scenarios".
- Depending on use-case, we might not need to use repartitioning topic, as keys might not change.
Proposed Changes
Code Block | ||
---|---|---|
| ||
public class Produced<K, V> { protected String topicName; protected Boolean topicCreated = false; protected Boolean repartitionNeeded = true; protected Boolean useAsInternalTopicOnly = true; protected Integer partitions; protected Produced(String topicName, Boolean alreadyCreated) { this.topicName = topicName; this.alreadyCreated = alreadyCreated; } protected Produced(String topicName, Integer partitions) { this.topicName = topicName; this.partitions = partitions; } public static <K, V> Produced<K, V> withTopic(String topicName, Boolean alreadyCreated) { return new Produced<>(topicName, alreadyCreated); } public static <K, V> Produced<K, V> withTopic(String topicName, Integer partitions) { return new Produced<>(topicName, partitions); } public Produced<K, V> repartitionNeeded(Boolean repartitionNeeded) { this.repartitionNeeded = repartitionNeeded; return this; } public Produced<K, V> useAsInternalTopicOnly(Boolean useAsInternalTopicOnly) { this.useAsInternalTopicOnly = useAsInternalTopicOnly; return this; } } |
...