...
Code Block | ||
---|---|---|
| ||
public class KafkaStreams { public void init(final InitProperties initProperties); public class InitProperties { public void setUpRepartitionTopicsIfAbsentEnabled(); public void setUpRepartitionTopicsIfAbsentDisabled(); public void setUpChangelogTopicsIfAbsentEnabled(); public void setUpChangelogTopicsIfAbsentDisabled(); public void setUpInternalTopicsIfAbsentEnabled(); public void setUpInternalTopicsIfAbsentDisabled(); } } |
We propose to add a new configuration to Kafka Streams to determine whether the initialization should be done automatically during a rebalance or by users calling KafkaStreams#init()
.
Code Block | ||
---|---|---|
| ||
public class StreamsConfig { // possible values public static final String AUTOMATIC_SETUP = "automatic"; public static final String MANUAL_SETUP = "manual"; // configuration public static final String INTERNAL_TOPIC_SETUP = "internal.topics.setup"; // default is AUTOMATIC_INITIALIZATIONSETUP } |
We propose to add a new exception that helps to discriminate errors originating from missing internal topics from other errors in the uncaught exception handler. For example, reacting on a missing source topic (i.e., MissingSourceTopicException) might be different from reacting on missing internal topics, because the process for re-creating source topics might differ from the process for re-creating internal topics. Furthermore, source topics might be owned by a different team than the internal topics, consequently different people need to be paged.
...