...
We propose to add two new exceptions – namely MissingInternalTopicsException
and MisconfiguredInternalTopicException
. MissingInternalTopicsException
is thrown when a required internal topic does not exist and MisconfiguredInternalTopicException
is thrown when the internal topic is not configured as expected. For example, a changelog topic for a non-windowed state store is regarded as misconfigured if its retention period is not set to unlimited. Another example for a misconfigured internal topic is a repartition topic with the wrong number of partitions.
These exceptions MisconfiguredInternalTopicException
– that help to discriminate errors originating from missing or misconfigured 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 a missing or misconfigured internal topic, 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. Misconfigured internal topics are internal topics whose configuration differs from the intended one. For example, a changelog topic for a non-windowed state store is expected to have a infinite retention. If such a changelog topic does not have infinite retention when it is verified, exception MisconfiguredInternalTopicException
should be thrown. Exceptions Exceptions MissingInternalTopicsException
and MisconfiguredInternalTopicException
will be thrown during explicit initialization and during a rebalance when the internal topics are verified. Both exceptions are fatal.
...