oxidecomputer / oxidecomputer/omicron
test failed in CI: app::sagas::disk_create::test::test_action_failure_can_unwind_idempotently
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
This test failed on a CI run on PR #10108: https://github.com/oxidecomputer/omicron/pull/10108/checks?check_run_id=67947973228
Log showing the specific test failure: https://buildomat.eng.oxide.computer/wg/0/details/01KM66YK4546W0P4JC0PTHC9TR/GG4HutHIxijs894HtA3ss6MHSGAMt3n5g9QTRHac275Gkh0o/01KM66ZTEBB84REWSXZJ2AW9QN#S7048
Excerpt from the log showing the failure:
7069 2026-03-20T18:35:41.862Z thread 'app::sagas::disk_create::test::test_action_failure_can_unwind_idempotently' (2) panicked at nexus/src/app/sagas/disk_create.rs:1382:9:
7070 2026-03-20T18:35:41.862Z assertion failed: no_disk_records_exist(datastore).await
7071 2026-03-20T18:35:41.862Z stack backtrace:
7072 2026-03-20T18:35:41.862Z 0: __rustc::rust_begin_unwind
7073 2026-03-20T18:35:41.862Z at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
7074 2026-03-20T18:35:41.863Z 1: core::panicking::panic_fmt
7075 2026-03-20T18:35:41.863Z at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
7076 2026-03-20T18:35:41.863Z 2: core::panicking::panic
7077 2026-03-20T18:35:41.863Z at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:150:5
7078 2026-03-20T18:35:41.863Z 3: {async_fn#0}
7079 2026-03-20T18:35:41.863Z at ./src/app/sagas/disk_create.rs:1382:9
7080 2026-03-20T18:35:41.863Z 4: {async_block#0}
7081 2026-03-20T18:35:41.863Z at ./src/app/sagas/disk_create.rs:1473:71
7082 2026-03-20T18:35:41.863Z 5: poll<alloc::boxed::Box<(dyn core::future::future::Future<Output=()> + core::marker::Send), alloc::alloc::Global>>
7083 2026-03-20T18:35:41.863Z at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
7084 2026-03-20T18:35:41.863Z 6: {async_fn#0}<omicron_nexus::app::sagas::disk_create::SagaDiskCreate, omicron_nexus::app::sagas::disk_create::test::test_action_failure_can_unwind_idempotently::{async_block#0}::test_action_failure_can_unwind_idempotently::{async_fn#0}::{closure_env#0}, omicron_nexus::app::sagas::disk_create::test::test_action_failure_can_unwind_idempotently::{async_block#0}::test_action_failure_can_unwind_idempotently::{async_fn#0}::{closure_env#1}>
7085 2026-03-20T18:35:41.863Z at ./src/app/sagas/test_helpers.rs:754:22
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 with nexus/src/app/sagas/disk_create.rs, especially test_action_failure_can_unwind_idempotently and the assertion at line 1382. Review the CI log and the helper path in src/app/sagas/test_helpers.rs:754 to determine why cleanup leaves disk records behind. Done means the test passes and no disk records remain after the failed action unwinds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100