miroir/crates/miroir-proxy
jedarden a7e345d28e P2.1: Fix session_pinning blocking read and verify acceptance criteria
Fixed a runtime panic in SessionManager::update_metrics() caused by
calling blocking_read() within an async context. Changed to use
try_read() to avoid blocking the tokio runtime.

Verified all P2.1 acceptance criteria:
- GET /health returns 200 immediately (Meilisearch-compatible)
- GET /_miroir/ready returns 503 until covering quorum exists
- GET /_miroir/topology returns plan §10 JSON shape
- Two listeners: :7700 (client API) and :9090 (metrics)
- SIGTERM triggers graceful shutdown with request draining

All endpoints already implemented:
- /health (unauthenticated liveness probe)
- /version (Meilisearch version from healthy node)
- /_miroir/ready (readiness probe)
- /_miroir/topology (cluster state)
- /_miroir/shards (shard→node mapping)
- /_miroir/metrics (admin-key-gated Prometheus metrics)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 12:19:10 -04:00
..
src P2.1: Fix session_pinning blocking read and verify acceptance criteria 2026-05-23 12:19:10 -04:00
static Phase 5: Add Advanced Capabilities verification and UI static assets 2026-05-03 19:01:22 -04:00
tests P5.8 §13.8: Anti-entropy shard reconciler (OP#1 closure) 2026-05-23 11:23:36 -04:00
Cargo.toml P4.1: Rebalancer background worker - verification complete 2026-05-23 08:11:31 -04:00