> Current implementation StopNodeOrHaltFH uses Runtime#halt(). This method
> doesn't cause shutdown hooks. Why we don't try to stop the node by
> System#exit() before Runtime#halt()?

And why we should try System.exit()?

We invoke halt() because we don't want to invoke any code in shutdown
hook. We don't know what shut down will try to do and we can't sure
that node will actually terminated. halt()  gives such guarantee.

On Tue, Jun 2, 2020 at 5:35 PM Sergey Antonov <antonovserge...@gmail.com> wrote:
>
> Andrey, Alexey, I can't agree with your position.
>
> Current implementation StopNodeOrHaltFH uses Runtime#halt(). This method
> doesn't cause shutdown hooks. Why we don't try to stop the node by
> System#exit() before Runtime#halt()?
>
>
> вт, 2 июн. 2020 г. в 17:18, Andrey Gura <ag...@apache.org>:
>
> > Sergey, Anton, Kirill,
> >
> > I think we have to do not change anything in FH. At least without
> > enough motivation.
> >
> > Now I see only assumption that it "could be helpful for administration
> > purposes". It isn't enough, I believe.
> >
> > On Tue, Jun 2, 2020 at 4:59 PM ткаленко кирилл <tkalkir...@yandex.ru>
> > wrote:
> > >
> > > Hello, Alexey!
> > >
> > > I didn't quite understand about merge.
> > >
> > > If we use StopNodeOrHaltFailureHandler with tryStop=true, then if we
> > don't stop node by timeout, we will terminate jvm.
> > >
> > > Or do you suggest only stopping the node in StopNodeFailureHandler and
> > terminate jvm in StopNodeOrHaltFailureHandler? or leave it as it is?
> > >
> > > 02.06.2020, 16:46, "Alexey Goncharuk" <alexey.goncha...@gmail.com>:
> > > >>  > How exactly do you want to change the StopNodeFH?
> > > >>  I want to stop JVM with KILL_EXIT_CODE and add an option (constructor
> > > >>  argument of JVM option) for disabling JVM termination.
> > > >
> > > > When the flag is enabled, the behavior is identical to StopNodeOrHaltFH
> > > > with tryStop=false. In other words,
> > > > StopNodeFH with enabled JVM termination === StopNodeOrHaltFH with
> > > > tryStop=false
> > > > StopNodeFG with disabled JVM termination ~ StopNodeOrHaltFH with
> > > > tryStop=true
> > > >
> > > > Why have two different failure handlers with identical behavior?
> > Perhaps,
> > > > there is confusion and we should consider merging these classes into
> > one?
> >
>
>
> --
> BR, Sergey Antonov

Reply via email to