oxidecomputer / oxidecomputer/opte
more error type polishing needed
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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