lablup / lablup/backend.ai

Revise container failure handling to use error state instead of cancelled

Open
#3,121 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
17h 7m
Merged PRs (30d)
358

Description

## Current Behavior

When container creation fails, the session transitions to `CANCELLED` state, stopping all operations without retry attempts.

## Proposed Change

Use `ERROR` state for container creation failures instead of `CANCELLED`.Reserve `CANCELLED` state only for:

- Explicit destroy requests before container creation
- Failures during preparation phase
## Rationale

1. In multi-container sessions, container creation failures should allow cleanup:\* Current: Manual intervention needed to clean up successful containers
- Proposed: Use `destroy` functionality on `ERROR` state for cleanup

1. Aligns with k8s pattern of failed state handling with retry logic
1. Determine the required API changes and assess their impact
## Implementation Suggestion

Flow: Creation failure → `ERROR` state → retry attempts → if all attempts fail → final error handling

## Impact

Requires state transition logic changes

JIRA Issue: BA-55

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.