hero_proxy shows all services as Down — probe protocol mismatch #60
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
hero_proxy_ui shows 31 sockets but almost all as 'Down'. Only hero_indexer_server shows 'OK'.
Root cause
hero_proxy_server probes sockets with raw line-delimited JSON-RPC (
rpc.health). But most services are HTTP-based (axum) and don't understand raw JSON-RPC — they expect HTTP requests.Services that use HeroRpcServer bind HTTP on their socket, so the raw JSON-RPC probe gets a 400 Bad Request.
Fix
hero_proxy_server's probe should:
GET /healthvia HTTP over Unix socket{"method":"rpc.health"}for non-HTTP servicesSteps to reproduce
Fixed: changed hero_proxy_server to probe HTTP first (GET /health), then raw JSON-RPC, then simple TCP connect as fallback. Now 33/33 services show OK including Redis and hero_services_server. Squash-merged to development.
Signed-off-by: mik-tf