Skip to content

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

@slothfk

Description

@slothfk

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, который будет "прибивать" процесс, чтобы он не "висел" бестолково. Однако, "костыль" ...

Activity

dura0ok

dura0ok commented on Dec 23, 2024

@dura0ok

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

slothfk

slothfk commented on Dec 23, 2024

@slothfk
Author

Файлик здесь

fukanchik

fukanchik commented on Dec 24, 2024

@fukanchik

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

slothfk

slothfk commented on Dec 24, 2024

@slothfk
Author

@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

fukanchik commented on Dec 25, 2024

@fukanchik

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

slothfk

slothfk commented on Dec 25, 2024

@slothfk
Author

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @fukanchik@slothfk@dura0ok

        Issue actions

          Залипают процессы archive-push · Issue #643 · postgrespro/pg_probackup