handleNotifyData had no case for NotifyData_data_jobPidInfo, so the
controller's start-report push (apiserver_job_start_fun, fired from
HOOK_DETAIL_JOB_START the moment WAL_JOB_START commits) was silently
dropped. interactive_job_url then stayed invisible until the next
periodic rusage-driven job UPDATE re-delivered the full row — up to
10s later (job_rusage_collect_interval), the dominant chunk of an
-I --tty job's submit-to-first-output latency (measured ~6s on t1,
server-side work itself is ~0.6s).
Add OnJobPidInfo to the notification interface and DefaultHandler:
it merges the worker-reported pids/pgids and the exdata {"url": ...}
onto the already-stored job record (get-mutate-put, mirroring
OnJobFinished) and publishes a job.updated event. The CGO decode
side is factored into cPidInfoToRaw/pidInfoJSONB, shared with the
existing xce_job_t conversion.
Cluster-verified on t1: URL is pollable ~0.6s after submit
(previously ~11s), full submit/run/finish lifecycle clean, all
daemons healthy.
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| backend | ||
| cmd | ||
| common | ||
| config | ||
| controllers | ||
| docs | ||
| middleware | ||
| models | ||
| router | ||
| services | ||
| store | ||
| tools/encrypt | ||
| utils | ||
| vendor | ||
| go.mod | ||
| go.sum | ||
| meson.build | ||
| README.md | ||
(1) run server command:
cd cmd go run main.go
(2) run server with different log level: cd cmd go run main.go -level=debug
level options: info/debug/warn/error/fatal