Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

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

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

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

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

No branches or pull requests

3 participants