Skip to content

Preserve checkpoint storage failures across Ray transport - #23

Merged
rawsh merged 2 commits into
release/v0.1.10from
feature/checkpoint-error-transport
Oct 23, 2026
Merged

rawsh merged 2 commits into
release/v0.1.10from
feature/checkpoint-error-transport

Conversation

@rawsh

@rawsh rawsh commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

When an asynchronous checkpoint failed, its error retained a local Future and Ray replaced the original failure because the Future contains an unpicklable lock. Serialize the same exception type, message, failure details and timeout flag with checkpoint_future=None; keep the original local Future for settlement and retirement.

Validation: 17 allocated runtime291 CPU controls pass, including two real-Ray actor round-trips through tq.save_checkpoint with injected storage replies, local unsettled/wrong-owner refusal, settlement and explicit retirement; pickle/cloudpickle and existing checkpoint receipt controls pass. Ruff and compileall pass. This does not fix slow storage or qualify a production runtime; no snapshot or publication semantics change.

AI-assisted implementation and tests.

Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
@rawsh
rawsh changed the base branch from main to release/v0.1.10 October 23, 2026 12:05
Signed-off-by: Robert Washbourne <rawashbourne@gmail.com>
@rawsh
rawsh merged commit 856026a into release/v0.1.10 Oct 23, 2026
3 checks passed
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