Working In Process
Status
Current state: [One of "Under Discussion", "Accepted", "Rejected"]
Discussion thread: here
JIRA:
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
As the moment the IQ is only thrown InvalidStateStoreException for all errors. That means we cannot handle different types of errors. We should throw different exceptions for different types.
Proposed Changes
Add two new exception class for the IQ state store errors:
org.apache.kafka.streams.errors.StateStoreMigratedException
org.apache.kafka.streams.errors.StateStoreClosedException
StateStoreMigratedException used in the QueryableStoreProvider, StreamThreadStateStoreProvider and WrappingStoreProvider. The user can catch the exception and just wait until the store recreation finished.
Compatibility, Deprecation, and Migration Plan
- Because no classes will be removed, this change will be fully backward.
Rejected Alternatives
TBD