dapr/dapr

Error Standardization: Metadata API

Open

#7,489 opened on Feb 2, 2024

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Go (25,672 stars) (2,064 forks)batch import
good first issue

Description

Richer errors in Dapr for the Metadata API.

Note: Please clone this issue and assign the clone of this issue to yourself if you would like to contribute to the error standardization efforts.

Scope of work

  • Choose 5-10 errors in the Metadata API to enrich. Ideally, cover as many errors as possible from the API.
  • Follow the steps outlined in this README for each error being updated

Definition of done

  • Update 5-10 errors in the Metadata API
  • Update the unit tests, if necessary
  • Write integration tests to cover each updated errors

Keep in mind

Unless a major version is being released and there is a solid reason for introducing backwards incompatibility, we can't change the API, meaning the HTTP and gRPC status codes, and the error codes must stay the same. An exception to this is the gRPC StatusCode.UNKNOWN which should be converted to a specific status.

See the kit errors pkg README for another usage example. For each error being updated, you can use the following helper functions to add error details, see the kit errors pkg for more details:

  • WithHelpLink()
  • WithHelp()
  • WithErrorInfo() - Required
  • WithFieldViolation()
  • WithDetails()

Reference PRs

Existing error standardization for:

Contributor guide