Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking: Report user errors #7831

Closed
5 of 9 tasks
jon-chuang opened this issue Feb 10, 2023 · 2 comments
Closed
5 of 9 tasks

Tracking: Report user errors #7831

jon-chuang opened this issue Feb 10, 2023 · 2 comments
Assignees

Comments

@jon-chuang
Copy link
Contributor

jon-chuang commented Feb 10, 2023

Implements: #7824

Orthogonal:

  • Improve error messages of user errors so that they are more informative (e.g. show the expression when encountering ExprError - however, this might be quite hard as the Debug fmt may not clear for the nested BoxedExpression used in our executors)
  • Incidentally, we could also report errors which kill actor to prometheus, and display in grafana under the same Stream Errors panel (as suggested here: streaming: report actor error #37)
@BugenZhao
Copy link
Member

  • Clean ExprError to UserError

I hope I understand it right, the ExprError itself should be preserved as part of the interfaces of the expr crate. But for the usages in the stream crate, we can erase the specific variant and represent it as a string.

  • Simple report ExprError in stream jobs

Do we report the concrete error message or only the error count? If it's the former, is there a mechanism for persisting (or buffering) the error messages or throttling a bulk of errors (for example, wrong column descriptors lead to failure for every line in the parser)?

@jon-chuang
Copy link
Contributor Author

jon-chuang commented Feb 13, 2023

Do we report the concrete error message or only the error count?

We will record the concrete error message if it has not been truncated.

We will truncate only if the message is blacklisted (i.e. we do not know if it can have unbounded cardinality) and if the number of unique blacklisted messages recorded exceed some threshold (e.g. 50).

Our hope is to recover the full, informative error message in the happy path.

EDIT: truncation is no longer planned

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants