Demote unhealthy primary object store sooner - #38
Conversation
Unifies storage routing around a shared primary-health cache so both server-side writes and presigned upload routing proactively avoid a known-down primary when a fallback exists. Primary failures now mark the cache unhealthy immediately (including startup bucket checks), and routing automatically returns to primary after a healthy probe. `ensure_buckets` now verifies all configured stores, keeps MinIO auto-create behavior, adds reachability warnings for non-MinIO backends, and seeds failover state when the primary is unreachable at boot. Added tests for boot-time demotion affecting upload routing and for single-store behavior never demoting. Updated `CLAUDE.md` to document the new failover/promotion behavior.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✅ Deploy Preview for overup-app ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
The storage failover implementation correctly unifies routing around a shared primary-health cache. Both server-side writes and presigned upload grants now proactively avoid a known-down primary, and the cache is properly seeded from boot bucket checks and real write failures. The implementation uses appropriate async patterns with tokio Mutex for cache coalescing, proper TTL handling, and maintains backward compatibility with single-store deployments. Test coverage validates boot-time demotion and single-store behavior.
You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.
Unifies storage routing around a shared primary-health cache so both server-side writes and presigned upload routing proactively avoid a known-down primary when a fallback exists. Primary failures now mark the cache unhealthy immediately (including startup bucket checks), and routing automatically returns to primary after a healthy probe.
ensure_bucketsnow verifies all configured stores, keeps MinIO auto-create behavior, adds reachability warnings for non-MinIO backends, and seeds failover state when the primary is unreachable at boot. Added tests for boot-time demotion affecting upload routing and for single-store behavior never demoting. UpdatedCLAUDE.mdto document the new failover/promotion behavior.