Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Page properties

Document the state by adding a label to the FLIP page with one of "discussion", "accepted", "released", "rejected".

Discussion threadhere (<- link to https://lists.apache.org/list.html?dev@flink.apache.org)thread/n24wr310g74tsq4c6sgsftn2dy019b5v
Vote threadhere (<- link to https://lists.apache.org/list.html?dev@flink.apache.org)
JIRAhere (<- link to https://issues.apache.org/jira/browse/FLINK-XXXX)
Release<Flink Version>2.0


Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

I believe it would be better for Flink state to adopt the approach used in the definition of Java collection interfaces, which do not throw any checked exceptions. Additionally, there have been previous discussions about eliminating all thrown exceptions in state-related interfaces and instead providing more specific unchecked exceptions in implementations (as mentioned in Stephan Ewen's comments). Therefore, this FLIP takes these ideas into account and proposes to reorganize the state-related exceptions in a more specific and clear way.

Proposed Changes & Public Interfaces

This FLIP proposes a change to the state API that is annotated as @PublicEvolving and targets version 2.0 . The main changes are:

        1. Remove all the Exception  and IOException  in signature of state-accessing interfaces

...

The implementation will involve three steps. Firstly, new

  • Step 1: New types of exceptions will be introduced.

...

  • Step 2: The implementations of state-related interfaces will throw the newly introduced exceptions.

...

  • Step 3: All old checked exceptions will be removed from the interfaces.

Compatibility, Deprecation, and Migration Plan

...

Some tests checking if the new types of exception are thrown will be added.

Rejected Alternatives

None for nowTargeted at version 1.19 or 1.20.