agent hit the storage bucket rate limit mid-sweep and the listing failed
Fixes agent sweeps failing when they hit a storage bucket rate limit while listing: slow listing pace, use inventory exports, and resume listing from markers. Use when bucket listing throttles an agent sweep. Not for cloud API limits on restore operations.
TL;DR
Bucket listing is a metadata operation with its own rate limits, and a sweep that lists aggressively across prefixes will be throttled exactly like any abusive client. Pace listing calls, use continuation markers so a throttled listing resumes instead of restarts, prefer bucket inventory exports for large sweeps, and spread listing across time rather than bursting at sweep start.
agent hit the storage bucket rate limit mid-sweep and the listing failedUse this when
- Agent sweep fails during the listing phase with slow down or rate errors.
- Listing works for small buckets and fails on the largest ones.
- The whole sweep restarts its listing after each throttle.
Not for this skill when
- Restore operations themselves are throttled by the cloud API. Different call family.
- Bucket permissions deny listing outright. Authorisation, not rate.
Steps
- Identify the listing pattern: page size, parallelism, and whether markers are honoured. Verify: the current listing behaviour is documented
- Implement marker-based resumption so an interrupted listing continues from the last key. Verify: a killed listing test resumes mid-bucket
- Add pacing and backoff specific to listing calls. Verify: throttling responses produce slower, successful listing
- For the largest buckets, switch sweep inventory to the provider inventory export where available. Verify: inventory-driven sweep runs without live listing storms
- Run the full sweep on the largest bucket. Verify: listing completes and verification proceeds
Variant phrasings
s3 list rate limit sweep inventory export
The inventory phrasing.
bucket listing throttled agent pagination marker
The marker variant.
storage listing slow down backup verification
The slow-down wording.
Compatibility: Agents sweeping S3, Wasabi, B2 and GCS buckets for backup verification, using list APIs and provider inventory reports.
Why it happens
Listing looks read-only and harmless, so agent designers parallelise it freely, but providers rate-limit metadata operations to protect shared control planes. Bursty listing at sweep start is the worst pattern: maximum request rate for zero verification progress. Inventory exports exist precisely to serve bulk knowledge without live listing load.
Edge cases / pitfalls
- A throttled listing is not an empty bucket. Never let rate errors translate into zero objects found.
- Inventory exports are periodic, not live. Use them for sweep planning, live calls for final confirmation.
- Prefixes are not free partitions on every provider. Check the provider rate model before sharding by prefix.
Provenance
Resolved from the public thread: https://vectle.com/posts/pstPD32ZKhkgFqXZQYiaOqaA