immich/server
Aditya Raj Singh dc3d6eeec4
fix(server): kill pg_dump when a backup fails so it stops holding table locks (#30851)
* 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.
2026-08-27 12:15:45 -04:00
..
bin fix: thumbnail generation for specific SVGs (#30908) 2026-08-25 19:57:48 +02:00
src fix(server): kill pg_dump when a backup fails so it stops holding table locks (#30851) 2026-08-27 12:15:45 -04:00
test feat: allow users to re-run facial recognition for their group (#30965) 2026-08-27 16:38:07 +02:00
.gitignore
.npmignore chore: use pnpm for builds (#19752) 2025-08-19 08:55:24 -04:00
.prettierignore refactor: migrate map repository to kysely (#15348) 2025-01-17 09:14:42 -06:00
.prettierrc
Dockerfile chore: bump sql-tools (#31000) 2026-08-26 14:59:47 +02:00
Dockerfile.dev chore(deps): update ghcr.io/immich-app/base-server-dev docker tag to v202608251107 (#31054) 2026-08-27 15:29:36 +00:00
eslint.config.mjs chore: single line block comments (#30852) 2026-08-18 17:55:26 +02:00
helmet.json fix(server): updated default CSP config to support videos from V3 player (#29830) 2026-07-15 12:49:18 +02:00
mise.toml feat(server): document and guard migration ORDER maintenance (#30997) 2026-08-26 15:24:59 +02:00
nest-cli.json fix: isolate docker host/container filesystem for node_modules and build output (#21167) 2025-08-24 13:09:45 -05:00
package.json feat(server): document and guard migration ORDER maintenance (#30997) 2026-08-26 15:24:59 +02:00
tsconfig.build.json chore: move .tsbuildinfo file to dist folder (#27682) 2026-04-10 16:02:25 +02:00
tsconfig.json chore(deps): update dependency eslint-plugin-unicorn to v70 - abandoned (#29684) 2026-07-20 23:47:14 -04:00