Files
ServerKit/backend/tests/RAW_SUBPROCESS_CEILING
Juan Denis 76432b1231 Fix gzip database backups and restores
A gzip.open() handle passed as a subprocess stream hands the child the
raw fd, so mysqldump/pg_dump wrote plain SQL inside a gzip header and
restores piped compressed bytes into mysql/psql. Backups, policies and
pre-deploy snapshots all produced files that could not be restored.

run_to_gzip/run_from_gzip pump the bytes through Python instead, with
stderr in a temp file so a noisy child can't deadlock the pipe. The two
hand-rolled db_sync dump pipes move onto them too.
2026-10-10 06:32:13 -04:00

2 lines
3 B
Plaintext