As far as I know we have several places to manage cluster state:

1. Java API - Ignite#cluster#state
2. CLI utility - control.sh
3. JMX beans(can we manage cluster state from JMX?)

I think we should add new parameter to the all management APIs.

What do you think?

> 30 янв. 2020 г., в 12:51, Alexey Goncharuk <alexey.goncha...@gmail.com> 
> написал(а):
> 
> Nikolay,
> 
> This change will affect only the command-line utility, correct? No changes
> for the public API are planned?
> 
> чт, 30 янв. 2020 г. в 12:46, Nikolay Izhikov <nizhi...@apache.org>:
> 
>> Hello, Alexey.
>> 
>> Thanks for the feedback.
>> It seems for me as a very unexpected behavior from the users point of view.
>> 
>> I propose to do the following:
>> 
>> * Update Ignite documentation and write down the fact that in-memory cache
>> cleared on deactivation.
>> * Disallow, by default, deactivation of the cluster that has in-memory
>> cache with proper error message
>>        «Your cluster has in-memory cache configured. During deactivation
>> all data from these caches will be cleared!»
>> * Add «—force» flag to deactivate command so administrator can force
>> deactivation for cluster that has both - persistent and in-memory caches
>> configured.
>> 
>> What do you think?
>> 
>> 
>>> 30 янв. 2020 г., в 12:32, Alexey Goncharuk <alexey.goncha...@gmail.com>
>> написал(а):
>>> 
>>> Nikolay,
>>> 
>>> Inactive state deallocates all possible resources by design, including
>> the
>>> data regions. If data region is not backed by a persistent storage, the
>>> data is lost, this is an expected behavior.
>>> 
>>> ср, 29 янв. 2020 г. в 19:18, Nikolay Izhikov <nizhi...@apache.org>:
>>> 
>>>> Hello, Igniters.
>>>> 
>>>> I found really confusing results of the simple test.
>>>> Data from the in-memory cache are vanished after change cluster state to
>>>> INACTIVE/ACTIVE.
>>>> 
>>>> Is this a bug or expected behavior?
>>>> 
>>>> 
>>>> ```
>>>> public class ClusterDeactivateTest extends GridCommonAbstractTest {
>>>>   String name = "my-cache";
>>>> 
>>>>   /** */
>>>>   @Test
>>>>   public void testDataPresent() throws Exception {
>>>>       IgniteEx i = startGrid(0);
>>>> 
>>>>       i.createCache(name).put(1L, 1L);
>>>> 
>>>>       assertEquals(1L, i.cache(name).get(1L));
>>>> 
>>>>       i.cluster().state(ClusterState.INACTIVE);
>>>>       i.cluster().state(ClusterState.ACTIVE);
>>>> 
>>>>       assertEquals(1L, i.cache(name).get(1L)); //Assertion error here!
>>>>   }
>>>> }
>>>> ```
>> 
>> 

Reply via email to