Hi, Igniters!

We have 3 cluster states at the moment: inactive, active, read-only.

For getting current cluster state and changing them IgniteCluster has
methods:

   - boolean active(), void active(boolean active) - for cluster
   activation/deactivation
   - boolean readOnly(), void readOnly(boolean readOnly) - for
   enabling/disabling read-only mode.

Also we have control.sh commans for changing cluster state:

   - --activate
   - --deactivate
   - --read-only-on
   - --read-only-off

For me current API looks unuseful. My proposal:

   1. Create enum ClusterState with values ACTIVE, INACTIVE, READ-ONLY.
   2. Add methods to IgniteCluster:
      - ClusterState state() returns current cluster state
      - void state(ClusterState newState) changes cluster state to newState
       state
   3. Mark as deprecated the following methods in IgniteCluster: boolean
   active(), void active(boolean active),
   4. Add new command to control.sh: control.sh --set-state
   (ACTIVE|INACTIVE|READ-ONLY)
   5. Add warn message that command is depricated in control.sh. Commands:
   --activate, --deactivate, --read-only-on, --read-only-off


I created ticket [1] in Jira for it.

What do you think about my proposal?

[1] https://issues.apache.org/jira/browse/IGNITE-12225
-- 
BR, Sergey Antonov

Reply via email to