Mount the worker source in dev so it cannot fall behind the engine
The engine and the worker speak a version-matched protocol, but compose.dev.yml mounted only backend/fluksio: a reloaded engine talked to the worker baked into the image. Adding the request id to that protocol therefore left every python node failing with "the worker answered request None", because the old worker echoed no id at all. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01StpRc2C6au1WJ1EUU7fsfu
This commit is contained in:
+7
-8
@@ -72,14 +72,13 @@ Specific changes
|
||||
reloader, which reaps nothing that is not its own child. `init: true` on the backend
|
||||
service hands PID 1 to an init that does reap orphans, and would close the whole class
|
||||
rather than one source of it.
|
||||
- BUG/NODE: **every python node on the dev stack fails to build** with
|
||||
`RemoteError: the worker answered request None while <n> was outstanding` — the reply the
|
||||
pool read off the pipe parsed as JSON but carried neither an `id` nor an `event`, so
|
||||
`_exchange` retires the worker and the node goes red. It is not the rebuild scope: a
|
||||
whole-pipeline `reload()` produces the same error on the same nodes. Worth checking against
|
||||
the orphaned workers above, since both follow uvicorn `--reload`. It is why
|
||||
`runtime.spec.ts` "the logs panel shows what a node printed" fails — nothing runs, so
|
||||
nothing prints.
|
||||
- CHORE/INFRA: the engine and the worker speak a version-matched protocol, but only the
|
||||
engine hot-reloads — uvicorn watches `/app/backend`, and a worker process holds the code
|
||||
it started with until it is respawned. So a protocol change reaches one side and not the
|
||||
other, which is how every python node came to fail with `RemoteError: the worker answered
|
||||
request None`. `compose.dev.yml` now mounts `worker/fluksio_worker` beside
|
||||
`backend/fluksio`, which closes the image half. The reload half is open: editing worker
|
||||
source restarts nothing, and the running pool keeps the old code.
|
||||
|
||||
- CHORE/UI: the portal's aggregate tiles have no not-reporting state. A figure an
|
||||
installation never sends renders through `?? 0`, so a missing field reads as a confident
|
||||
|
||||
Reference in New Issue
Block a user