hero_db 0.3.2: socket layout drift breaks newer hero_proc + dependents #34

Open
opened 2026-05-20 09:44:33 +00:00 by zaelgohary · 0 comments
Member

hero_db 0.3.2 (currently the only registry version with a complete server+ui+cli set) publishes its sockets with the old flat layout:

  • $HERO_SOCKET_DIR/hero_db_server.sock
  • $HERO_SOCKET_DIR/hero_db_resp.sock

hero_proc 0.4.4+ and hero_slides 0.6.0 both expect the new per-service subdir layout:

  • $HERO_SOCKET_DIR/hero_db/rpc.sock
  • $HERO_SOCKET_DIR/hero_proc/rpc.sock

Concrete symptoms:

  1. hero_db --start (CLI built against the old hero_proc_sdk) connects to /root/hero/var/sockets/hero_proc_server.sock instead of hero_proc/rpc.sock → fails immediately.
  2. hero_slides_server connects to /data/hero/var/sockets/hero_db/rpc.sock → "socket not found" → /rpc returns Backend unavailable.

Workaround applied in the deploy:

ln -sf /data/hero/var/sockets/hero_proc/rpc.sock /data/hero/var/sockets/hero_proc_server.sock
ln -sf /data/hero/var/sockets/hero_db_server.sock     /data/hero/var/sockets/hero_db/rpc.sock

Proper fix: publish a hero_db tag (0.3.3 or 0.4.0) built against current hero_proc_sdk that:

  • creates its server socket at hero_db/rpc.sock directly, and
  • has its CLI find hero_proc at hero_proc/rpc.sock.

A transitional dev build with the new layout would also let downstreams (slides, etc.) pin off HERO_DB_VERSION=dev without socket-symlink hacks. See lhumina_code/hero_slides#72.

hero_db `0.3.2` (currently the only registry version with a complete server+ui+cli set) publishes its sockets with the old flat layout: - `$HERO_SOCKET_DIR/hero_db_server.sock` - `$HERO_SOCKET_DIR/hero_db_resp.sock` hero_proc `0.4.4+` and hero_slides `0.6.0` both expect the new per-service subdir layout: - `$HERO_SOCKET_DIR/hero_db/rpc.sock` - `$HERO_SOCKET_DIR/hero_proc/rpc.sock` Concrete symptoms: 1. `hero_db --start` (CLI built against the old `hero_proc_sdk`) connects to `/root/hero/var/sockets/hero_proc_server.sock` instead of `hero_proc/rpc.sock` → fails immediately. 2. `hero_slides_server` connects to `/data/hero/var/sockets/hero_db/rpc.sock` → "socket not found" → `/rpc` returns `Backend unavailable`. Workaround applied in the deploy: ``` ln -sf /data/hero/var/sockets/hero_proc/rpc.sock /data/hero/var/sockets/hero_proc_server.sock ln -sf /data/hero/var/sockets/hero_db_server.sock /data/hero/var/sockets/hero_db/rpc.sock ``` Proper fix: publish a hero_db tag (0.3.3 or 0.4.0) built against current hero_proc_sdk that: - creates its server socket at `hero_db/rpc.sock` directly, and - has its CLI find hero_proc at `hero_proc/rpc.sock`. A transitional `dev` build with the new layout would also let downstreams (slides, etc.) pin off `HERO_DB_VERSION=dev` without socket-symlink hacks. See lhumina_code/hero_slides#72.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_db#34
No description provided.