Skip to content

CLI: bucket-direct load/merge abort with 'stale view … refresh and retry' but never retry — the advice should be self-executing #437

Description

@FlorianSeemann

Summary

On a stale manifest snapshot, a bucket-direct CLI write aborts with:

stale view of 'edge:IdentifiesPerson': expected manifest table version 37 but current is 38 — refresh and retry

The message tells the OPERATOR to refresh and retry, but the CLI itself exits non-zero without doing so — so every wrapper script/pipeline has to pattern-match this string and re-invoke (v0.8.1, seen mid-way through a 221k-row multi-invocation load sequence where invocation N+1 raced invocation N's commit visibility).

Ask

When the engine detects the stale-view CAS condition on a write whose semantics are idempotent/re-computable (load merge-by-key, branch merge), refresh the manifest and retry internally (bounded attempts + backoff) before surfacing the error. Where internal retry isn't safe, a distinct exit code for 'transient — safe to re-run' would at least let wrappers retry without string-matching.

Related: #415 (merge double-apply under client retries), #384 (merge cost).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions