Skip to content

При перенаправлении сообщений аудита или логов в файл при рестарте инстанса удается висеть запущенной команда пайпа

Версия Пикодата (обнаружено в Пикодате, но следы ведут в форк): 24.7.0-1106-gb7264a86, static, release

Развернул кластер с настройками перенаправления сообщений аудита в пайп:

PICODATA_AUDIT_LOG="pipe:tee /tmp/logs"

где /tmp/logs - это fifo-файл

рестартанул кластер несколько раз (не при каждом перезапуске ошибка падает) и получил ошибку в логах

2025-01-21 11:34:21.182 [69171] main/104/interactive I> mapping 134217728 bytes for vinyl tuple arena...
2025-01-21 11:34:21.183 [69171] main/104/interactive/box.upgrade I> Recovering snapshot with schema version 2.11.5
2025-01-21 11:34:21.183 [69171] main/104/interactive I> update replication_synchro_quorum = 1
2025-01-21 11:34:21.183 [69171] main/102/txn_limbo_on_parameters_change I> handling parameter changes affecting the limbo
2025-01-21 11:34:21.184 [69171] main/104/interactive box.cc:5247 E> ER_ALREADY_RUNNING: Failed to lock WAL directory /data/picodata/data/test/default-1000 and hot_standby mode is off
2025-01-21 11:34:21.184 [69171] main/104/interactive F> can't initialize storage: Failed to lock WAL directory /data/picodata/data/test/default-1000 and hot_standby mode is off

fuser показывает:

vagrant@node1:~$ fuser /data/picodata/data/test/default-1000
/data/picodata/data/test/default-1000: 66418 66420
vagrant@node1:~$ ps -ef | grep 66418
vagrant    66418       1  0 11:32 ?        00:00:00 /bin/sh -c tee /tmp/logs
vagrant    66420   66418  0 11:32 ?        00:00:00 tee /tmp/logs

Похожий тикет в Тарантуле: https://github.com/tarantool/tarantool/issues/5220

Ref picodata!1627 (merged)

Edited by Dmitry Ivanov