oxidecomputer / oxidecomputer/opte

more error type polishing needed

Open
#104 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
77
Forks
11
Avg merge
9d 20h
Merged PRs (30d)
8

Description

While working on #102 I realized there are some larger considerations to make around error types. I feel like consolidating the various admin API error types into OpteError turned out quite well. However, with the processing error types I'm not sure if they should all be flattened to fit into OpteError as well (which may explode the enum quite a bit and lose some fidelity with the process() error return) or if these types should be partially merged but also have some of their own variants in OpteError which nest somewhat. Or maybe there should be a top-level ProcessError and have that nest into OpteError, etc. The point being that I need to sit down and figure out what provides the most value in the context of debugging problems in production.

That said, this issue should be near the top of the list and dealt with in the next week or so.

Hint for future Ryan: Start with all the TODO kill unwrap lines.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating every TODO kill unwrap line and tracing the processing error types returned by process(). Review how the admin API errors were consolidated into OpteError, then document the desired error hierarchy and its production-debugging tradeoffs. Done means the error design is decided and consistently applied.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.