Errors handling #1237
Closed
karolisg
started this conversation in
Feature Requests
Errors handling
#1237
Replies: 2 comments 7 replies
-
@chubei Is there any scenario when we can handle |
Beta Was this translation helpful? Give feedback.
6 replies
-
In my opinion, for app, componnets should handle recoverable errors by themselves. All errors that returned from |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Errors handling
In the current implementation dozer process dies if the orchestrator receives any error. This can lead to bad user experience when app dies on minor error. To improve experience we need to handle some error cases and have some recoverable errors. So, we can group errors into 3 groups
handled
,recoverable
andunrecoverable
.Unrecoverable
At the moment all errors, which are returned to orchestrator are unrecoverable and they are handled in panic hook . We can reduce such errors by handling all (or most) API errors without crashing and having some recoverable errors in connectors.
Recoverable
Some of errors in connectors can be recoverable, which means that we can retry connection or data read step. Some examples of recoverable errors can be:
By handling and retrying such errors we should consider:
Handled errors (API crate)
In current implementation, dozer process crashes on any incorrect REST/gRPC request to dozer APIs. To avoid this, we need to refactor request handling and in error case try to return response with particular HTTP error code
Beta Was this translation helpful? Give feedback.
All reactions