oxidecomputer / oxidecomputer/steno

`SagaDagIterator` could/should implement `ExactSizeIterator`

Open Beginner friendly
#164 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
170
Forks
15
PR merge metrics
No merged PRs in 30d

Description

Context: https://github.com/oxidecomputer/omicron/pull/3895#discussion_r1297738612

Current Implementation:
https://github.com/oxidecomputer/steno/blob/77d8f2003cb26578eaf80dd2982eda64e2abb80d/src/dag.rs#L387-L405

Advantages of doing this:

  • It would be easier to iterate over the nodes under saga idempotency tests

Contributor guide

No contributing guide indexed for this repository

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 in src/dag.rs at lines 387-405 and read Rust's ExactSizeIterator requirements alongside the current SagaDagIterator implementation. Locate the saga idempotency tests mentioned in the issue, then verify that the iterator implements the trait and that those tests can use its exact length.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
distributed-systems
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.