Hi everyone,
I would like to start a discussion about FLIP-620: Structured errors for
Table API and SQL.
https://cwiki.apache.org/confluence/spaces/FLINK/pages/462815815/FLIP-620+Structured+errors+for+Table+API+and+SQL
Flink is increasingly embedded in larger platforms, SQL gateways,
notebooks, IDEs and AI agents. All of them need to understand why a job
or statement failed. Today, errors are mostly free-form messages. If you
want to react to a specific failure, you have to parse text, and that
text can change in any release. This makes it hard to tell user mistakes
from internal problems, to attach stable error codes, to show a helpful
message for a given audience, or to avoid leaking sensitive values into
logs.
Other database systems treat errors as part of their public contract.
They have stable identifiers, categories and SQLSTATE codes, and the
message is only one rendering of an error.
FLIP-620 proposes a small, backwards-compatible foundation: errors that
have an identity, a category and structured arguments, so that tools can
catch, classify and present them reliably. First I target Table API and
SQL but propose a common model that other Flink components can adopt later.
I'm looking forward to your feedback.
Best,
Timo