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>
39 lines
623 B
YAML
39 lines
623 B
YAML
# Test config for observability verification
|
|
shards: 64
|
|
replication_factor: 1
|
|
replica_groups: 1
|
|
master_key: "test-master-key"
|
|
admin:
|
|
api_key: "test-admin-key"
|
|
task_store:
|
|
backend: sqlite
|
|
path: /tmp/miroir-tasks-test.db
|
|
server:
|
|
bind: "127.0.0.1"
|
|
port: 7700
|
|
search_ui:
|
|
enabled: false
|
|
admin_ui:
|
|
enabled: false
|
|
cdc:
|
|
enabled: false
|
|
multi_search:
|
|
enabled: false
|
|
vector_search:
|
|
enabled: false
|
|
ttl:
|
|
enabled: false
|
|
tenant_affinity:
|
|
enabled: false
|
|
shadow:
|
|
enabled: false
|
|
ilm:
|
|
enabled: false
|
|
canary_runner:
|
|
enabled: false
|
|
explain:
|
|
enabled: false
|
|
hpa:
|
|
enabled: false
|
|
leader_election:
|
|
enabled: false
|