Currently, LogStash will shutdown by waiting for events to flush out and then call do_close on plugins. If --allow-unsafe-shutdown is specified then LogStash shutdown watcher will call Kernel.exit after some time.
However, ZeroMQ plugins will block under certain condition (this is by design of ZeroMQ), thus events will never flush out and do_close will never be called. The way to unblock the sockets is by terminating the ZeroMQ context. This can be done allowing a shutdown hook to be called before exiting forcefully.
Currently, LogStash will shutdown by waiting for events to flush out and then call
do_close
on plugins. If--allow-unsafe-shutdown
is specified then LogStash shutdown watcher will callKernel.exit
after some time.However, ZeroMQ plugins will block under certain condition (this is by design of ZeroMQ), thus events will never flush out and
do_close
will never be called. The way to unblock the sockets is by terminating the ZeroMQ context. This can be done allowing a shutdown hook to be called before exiting forcefully.