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