mirror of
https://github.com/immich-app/immich
synced 2026-08-29 13:15:45 +00:00
* fix(server): kill the child process when a spawned duplex stream is destroyed A failed database backup left pg_dump running. The stream was destroyed but the child was not, so the dump sat idle in transaction holding AccessShareLock on every table until someone terminated it by hand. One report had it survive five days and block DDL from another application on the same Postgres. Destroying the duplex now kills the child, which also covers pipeline() tearing every stream down when one of them fails. The backup service additionally holds references to the streams it spawns so the error path can destroy them. createWriteStream can throw before pipeline() takes ownership, which is how the reported ENOENT on an unmounted backup volume left nothing referencing the running pg_dump. * chore(server): drop the explanatory comments from the backup teardown fix Requested in review. The reasoning lives in the commit message and the PR body, which is where it belongs. |
||
|---|---|---|
| .. | ||
| bin | ||
| src | ||
| test | ||
| .gitignore | ||
| .npmignore | ||
| .prettierignore | ||
| .prettierrc | ||
| Dockerfile | ||
| Dockerfile.dev | ||
| eslint.config.mjs | ||
| helmet.json | ||
| mise.toml | ||
| nest-cli.json | ||
| package.json | ||
| tsconfig.build.json | ||
| tsconfig.json | ||