Size: a a a

2020 December 24

KN

Konstantin Nazarov in Tarantool
R-omk
выключение - это sigterm    он тригерит on_shutdown ,  там membership.leave

после получения sigterm  уже поздно чтото делать
ты сейчас говорил про reload
источник

KN

Konstantin Nazarov in Tarantool
я привел кусок кода, который показывает что stop вызывается
источник

KN

Konstantin Nazarov in Tarantool
если ты видишь что это не так, то это баг. но в коде это явно заложено
источник

R

R-omk in Tarantool
да , сорян, в релоаде есть ...  при остановке нету
источник

DS

Dmitry Sharonov in Tarantool
но звучит тоже разумно
источник

DS

Dmitry Sharonov in Tarantool
грейсфул шатдаун, да?
источник

R

R-omk in Tarantool
R-omk
да , сорян, в релоаде есть ...  при остановке нету
все что я вчера придумал  -  это написать кастомную роль  у которой есть api  который будет сам останавливать роли....     при том что sigterm - обрабатываем магией докера  и реальный sigterm  не доходит то taratnool
источник

KN

Konstantin Nazarov in Tarantool
заведи ишью
источник

KN

Konstantin Nazarov in Tarantool
The docker stop command attempts to stop a running container first by sending a SIGTERM signal to the root process (PID 1) in the container.
источник

KN

Konstantin Nazarov in Tarantool
докер должен посылать sigterm
источник

MF

Michael Filonenko in Tarantool
*перед глазами поплыли плашки грейсфул шатдаун виндоус*
источник

R

R-omk in Tarantool
но есть еще кое что  .. я так понимаю у ролей есть некие состояния .. типа включаюсь, настраиваюсь и т.д. ...   возможно там нехватате промежуточного сосояния  при котором роль может "долго"  выключаться  при этом    быть  доступна по api rpc ..
источник

R

R-omk in Tarantool
Konstantin Nazarov
докер должен посылать sigterm
я оберну тарантул в гошную обертку -  обертка будет принимать сигналы  и передавать их в tnt через rpc call  ....   потому как обработки сигналов посути нормальной в таратнуле нету
источник

KN

Konstantin Nazarov in Tarantool
R-omk
я оберну тарантул в гошную обертку -  обертка будет принимать сигналы  и передавать их в tnt через rpc call  ....   потому как обработки сигналов посути нормальной в таратнуле нету
зачем тебе это, если sigterm тарантул обрабатывает, а докер его посылает, как видно из документации?
источник

R

R-omk in Tarantool
R-omk
но есть еще кое что  .. я так понимаю у ролей есть некие состояния .. типа включаюсь, настраиваюсь и т.д. ...   возможно там нехватате промежуточного сосояния  при котором роль может "долго"  выключаться  при этом    быть  доступна по api rpc ..
кроме того во время релоада     я не хотел бы чтобы api роли  пропал из rpc....
источник

KN

Konstantin Nazarov in Tarantool
R-omk
кроме того во время релоада     я не хотел бы чтобы api роли  пропал из rpc....
по-другому нормально не сделать. если API держать, то он будет держать референсы на старые функции, которые держат референсы на старые модули (через замыкания)
источник

R

R-omk in Tarantool
Konstantin Nazarov
зачем тебе это, если sigterm тарантул обрабатывает, а докер его посылает, как видно из документации?
затем что я не понимаю что происходит во время sigterm в тарантуле,   возможно к этому момнету уже поздно что либо делать
источник

KN

Konstantin Nazarov in Tarantool
R-omk
затем что я не понимаю что происходит во время sigterm в тарантуле,   возможно к этому момнету уже поздно что либо делать
не поздно
источник

KN

Konstantin Nazarov in Tarantool
R-omk
затем что я не понимаю что происходит во время sigterm в тарантуле,   возможно к этому момнету уже поздно что либо делать
заведи ишью на cartridge чтобы stop() у ролей звался
источник

KN

Konstantin Nazarov in Tarantool
R-omk
кроме того во время релоада     я не хотел бы чтобы api роли  пропал из rpc....
в результате если не убрать это все, то при изменении схемы можно получить коррапт данных когда старый и новый код ходят одновременно
источник