Skip to content

Rotation should report an incomplete sweep instead of unconditional rotated:true #644

Description

@zachdunn

Follow-up to #631 (shipped in #641). Two cases can leave objects under a retired prefix while the rotate response still says `rotated: true`:

  • an upload/promotion in flight during the sweep lands under the old prefix after it was listed (docs say re-run; the response doesn't hint at it)
  • the `MAX_LIST_PAGES` ceiling (50 pages) stops the sweep silently on very large prefixes

Add an `incomplete: true` (or `remaining`/`resyncFailed` counts) field so operators know to re-run, and have the CLI print the nudge. The resumable retired-id sweep already makes a re-run drain leftovers, so this is purely a reporting gap.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions