Skip to content

Handle partial volume creation failures during CreateActor.#527

Open
Michelle Au (msau42) wants to merge 1 commit into
agent-substrate:mainfrom
msau42:handle-create-volume-failure
Open

Handle partial volume creation failures during CreateActor.#527
Michelle Au (msau42) wants to merge 1 commit into
agent-substrate:mainfrom
msau42:handle-create-volume-failure

Conversation

@msau42

@msau42 Michelle Au (msau42) commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Part of #232

  1. Adds a new CREATING status that gets persisted before we start to create volumes. Only when all volumes are successfully created the Actor status transitions to SUSPENDED.

Currently CreateActor is not idempotent. If volume creation fails, the actor has to be deleted, which will also delete any partially created volumes.

  1. Changes volume id to use actor uid instead of atespace+actorname and adds "substrate" prefix

  2. Adds a new DELETING status that gets persisted before we start to delete volumes.

This shifts the existing DB DELETE precondition checks to the new DELETING status. And now you can only delete the actor in DB from DELETING status.

In the future, we will also add a workflow that will do mandatory node cleanup of volumes before starting to delete the volumes.

  • Tests pass
  • Appropriate changes to documentation are included in the PR

@msau42
Michelle Au (msau42) force-pushed the handle-create-volume-failure branch 2 times, most recently from 15bbd60 to 05542ff Compare July 24, 2026 23:20
1. Adds a new CREATING status that gets persisted before
we start to create volumes. Only when all volumes are
successfully created the Actor status transitions to
SUSPENDED.

Currently CreateActor is not idempotent. If volume
creation fails, the actor has to be deleted, which
will also delete any partially created volumes.

2. Changes volume id to use actor uid instead of
atespace+actorname, and add "substrate" prefix

3. Adds a new DELETING status that gets persisted before
we start to delete volumes.

This shifts the existing DB DELETE precondition checks
to the new DELETING status. And now you can only delete
the actor in DB from DELETING status.

In the future, we will also add a workflow that will
do mandatory node cleanup of volumes before starting
to delete the volumes.
@msau42
Michelle Au (msau42) force-pushed the handle-create-volume-failure branch from 05542ff to 7878a0f Compare July 24, 2026 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant