Hello, everyone.


I’d like to propose to make behavior of cluster deactivation the same
independently on usage type: in code or manually with control.sh or JMX.
Let’s put it in one place like IgniteCluster#state(ClusterState newState,
boolean force) and require forced call for in-memory data.

While I was doing the ticket I realized that the suggested previously
solution cannot be complete. To prevent data loss via JMX I would need to
stop executing IgniteMXBean#active(false). But this causes stopping of
Ignite#active(false) too. The problem relies in single implementation for
both interfaces in IgniteKernal#active(boolean). It has to act differently
depending on where it is called from: JMX/CLI or code.



            Any thoughts?

чт, 30 янв. 2020 г. в 13:08, Alexey Goncharuk <alexey.goncha...@gmail.com>:

> I agree on CLI and JMX because those interfaces can be used by a system
> administrator and can be invoked by mistake.
>
> As for the Java API, personally, I find it strange to add 'force' or
> 'confirm' flags to it because it is very unlikely that such an invocation
> is done by mistake. Such mistakes are caught during the testing phase and
> developers will end up hard-coding 'true' as a flag anyways.
>

Reply via email to