fix(service_osis): point health-check at hero_osis_base/rpc.sock #177
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_skills!177
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/service-osis-health-check-socket-path"
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?
Summary
The
hero_osisaction's health-check +kill_other.socketreferencedhero_osis/rpc.sock, which the unified backend never creates — the binary binds per-domain sockets only (hero_osis_base/rpc.sock,hero_osis_business/rpc.sock,hero_osis_calendar/rpc.sock, ...). hero_proc kept SIGTERMing the backend after the start grace window, causing a crash loop whilehero_osis_ui(whose path was already correct) survived — making the service appear partially-running with a stale socket file.Repro
service_osis start→proc service status hero_osisshowsrestarts > 0,hero_osis_uialive but nohero_osis(the backend) inpgrep./hero_osis_base/rpcreturn404 Socket 'rpc.sock' not found.~/hero/bin/hero_osisstandalone (no hero_proc) stays up cleanly and binds all 16 domain sockets — confirms the binary is fine; the action spec is the bug.Fix
Switch both
kill_other.socketandhealth_checks.openrpc_sockettohero_osis_base/rpc.sock. Thebasedomain is registered first by the unified server, and registration is atomic (all 16 domains together), so a healthybasesocket is a sufficient liveness signal for the whole binary.Test plan
service_osis start --reseton a previously-loop-crashing dev box →restarts: 0after >30sbase,business,calendar,files,projects) replyHTTP/1.1 200 OKcurl POST http://[router]:9988/hero_osis_base/rpc -d '{...domain.list...}'returns valid JSON in <2 ms (was 404 before)hero_osis_ui(already-correct path left untouched)