Skip to content

Залипают процессы archive-push #643

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
slothfk opened this issue Dec 23, 2024 · 6 comments
Open

Залипают процессы archive-push #643

slothfk opened this issue Dec 23, 2024 · 6 comments

Comments

@slothfk
Copy link

slothfk commented Dec 23, 2024

CenOS 7.9.2009, pg_probackup-15-2.5.12-1.d6721662ec76257d9470b1d20d75b7bc6bb1501c.x86_64

$ sudo -u postgres psql -c 'show archive_command'
                                                                                 archive_command                                            
                                                
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
 /usr/bin/pg_probackup-15 archive-push -B /data/probackup --instance $(hostname -s) --wal-file-name=%f --remote-user probackup --remote-host backup_server --compress

Иногда проявляется такая ситуация, что процесс archive-push "зависает": он есть в списке проецессов ОС, однако, в журналах PG данных о нем не фигурирует. Последняя запись в журнале ПГ об успешной архивации предыдущего файла журнала:

2024-12-13 00:39:19 MSK [20873]: [1-1]: INFO: pg_probackup archive-push WAL file: 0000000100002236000000F6, threads: 1/1, batch: 1/1, compression: zlib
2024-12-13 00:39:19 MSK [20873]: [1-1]: INFO: pg_probackup archive-push completed successfully, pushed: 1, skipped: 0, time elapsed: 249ms
2024-12-13 00:39:23 MSK [20930]: [1-1]: INFO: pg_probackup archive-push WAL file: 0000000100002236000000F7, threads: 1/1, batch: 1/1, compression: zlib
2024-12-13 00:39:24 MSK [20930]: [1-1]: INFO: pg_probackup archive-push completed successfully, pushed: 1, skipped: 0, time elapsed: 704ms
2024-12-13 00:39:43 MSK [20965]: [1-1]: INFO: pg_probackup archive-push WAL file: 0000000100002236000000F8, threads: 1/1, batch: 1/1, compression: zlib
2024-12-13 00:39:50 MSK [20965]: [1-1]: INFO: pg_probackup archive-push completed successfully, pushed: 1, skipped: 0, time elapsed: 7s:874ms
2024-12-13 00:39:57 MSK [21150]: [1-1]: INFO: pg_probackup archive-push WAL file: 0000000100002236000000F9, threads: 1/1, batch: 1/1, compression: zlib
2024-12-13 00:39:58 MSK [21150]: [1-1]: INFO: pg_probackup archive-push completed successfully, pushed: 1, skipped: 0, time elapsed: 362ms
2024-12-13 00:40:20 MSK [21202]: [1-1]: INFO: pg_probackup archive-push WAL file: 0000000100002236000000FA, threads: 1/1, batch: 1/1, compression: zlib
2024-12-13 00:40:25 MSK [21202]: [1-1]: INFO: pg_probackup archive-push completed successfully, pushed: 1, skipped: 0, time elapsed: 5s:46ms

Можно ли считать странным, что время архивации последнего журнала заметно увеличилось по сравнению с предыдущими?

Есть дамп памяти таких зависших процессов, как удобнее было бы передать (если надо)?

Одна из гипотез была, что в момент начала передачи файла wal на сервер резервных копий тот оказался недоступным, однако по другим случаям "зависания" процесса archive-push вроде бы не подтверждается (там недоступности не было)

Как временное решение можно archive-push запускать через timeout, который будет "прибивать" процесс, чтобы он не "висел" бестолково. Однако, "костыль" ...

@dura0ok
Copy link

dura0ok commented Dec 23, 2024

Привет, можешь скинуть архивом дамп памяти?

@slothfk
Copy link
Author

slothfk commented Dec 23, 2024

Файлик здесь

@fukanchik
Copy link

@slothfk Если заменить probackup archive-push на cp, то зависания уходят?

@slothfk
Copy link
Author

slothfk commented Dec 24, 2024

@slothfk Если заменить probackup archive-push на cp, то зависания уходят?

Тогда уж на scp :-
Есть подозрение, что может зависать процесс ssh, который запускает pg_probackup в режиме агента на сервере резерных копий. Коллега даже дамп памяти такого сделал.

Речь про процесс ssh из данной "пары":

 5676 ?        S      0:00 /usr/bin/pg_probackup-15 archive-push -B /data/probackup --instance db_server --wal-file-name=00000001000022CA00000047 --remote-user probackup --remote-host backup_server --compress
 5681 ?        S      0:00 ssh -l probackup -o PasswordAuthentication=no -o Compression=no -o ControlMaster=no -o LogLevel=error backup_server /usr/bin/pg_probackup-15 agent

Если "грохнуть" ssh, то и archive-push завершится ...

@fukanchik
Copy link

Так на голом ssh зависания уходят или остаются? Можно сделать что-то вроде scp %p user@host:/data/probackup/wals/db_server/

@slothfk
Copy link
Author

slothfk commented Dec 25, 2024

Проблема очень "плавающая" и, к сожалению, не стабильно воспроизводящаяся 😞

Попробую что-нибудь придумать чтобы воспроизвести

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants