[ https://issues.apache.org/jira/browse/IGNITE-12225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Antonov updated IGNITE-12225: ------------------------------------ Docs Text: Changes in a public API: # Introduced {{ClusterState}} enum. # *{{org.apache.ignite.IgniteCluster}}*: ## Introduced new method for the cluster state change: {{void state(ClusterState)}} ## Introduced new method for the getting current cluster state: {{ClusterState state()}} ## Deprecated methods {{void active(boolean)}} and {{boolean active()}}. Use a new methods described above. # *Control utility ({{control.sh}})*: ## Introduced new command for the cluster state change: {{control.sh --set-state INACTIVE|ACTIVE|ACTIVE_READ_ONLY [--yes]}} ## Deprecated activate/deactivate commands {{control.sh --activate}}, {{control.sh --deactivate}} # *REST*: ## Introduced new command for changing cluster state: ##* Request: {{http://host:port/ignite?cmd=setstate&state=<NEW_STATE>}} ##* Response: {{ {"successStatus":0,"error":null,"sessionToken":null,"response":"setstate done"} }} ## Introduced new command for getting current cluster state: ##* Request: {{http://host:port/ignite?cmd=state}} ##* Response: {{ {"successStatus":0,"error":null,"sessionToken":null,"response":"ACTIVE"} }} # *{{org.apache.ignite.IgniteConfiguration}}*: ## Introduced new property {{clusterStateOnStart}}. This property has the same behaviour as {{activeOnStart}} for in-memory clusters and {{autoActivation}} for the persistent clusters. The default value of a new property is {{DFLT_STATE_ON_START}} ({{ACTIVE}}). ## Deprecated {{activeOnStart}} and {{autoActivation}} properties and related with them default values {{DFLT_ACTIVE_ON_START}}, {{DFLT_AUTO_ACTIVATION}}. # *IgniteEvents*: ## Introduced a new cluster state change event {{ClusterStateChangeEvent}}. ## Deprecated {{ClusterActivationEvent}} event. Release Note: Introduced a new public API for the cluster state change (activation/deactivation and etc.). Added ability to activate clusters in a read-only mode. > Add enum for cluster state > -------------------------- > > Key: IGNITE-12225 > URL: https://issues.apache.org/jira/browse/IGNITE-12225 > Project: Ignite > Issue Type: Improvement > Reporter: Sergey Antonov > Assignee: Sergey Antonov > Priority: Major > Fix For: 2.9 > > Time Spent: 1h > Remaining Estimate: 0h > > 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: > # Create enum {{ClusterState}} with values {{ACTIVE}}, {{INACTIVE}}, > {{READ-ONLY}}. > # Add methods to {{IgniteCluster}}: > #* {{ClusterState state()}} returns current cluster state > #* {{void state(ClusterState newState)}} changes cluster state to > {{newState}} state > # Mark as deprecated the following methods in {{IgniteCluster}}: {{boolean > active()}}, {{void active(boolean active)}}, > # Add new command to control.sh: {{control.sh --set-state > (ACTIVE|INACTIVE|READ-ONLY)}} [--yes] > # Add warn message that command is depricated in control.sh. Commands: > --activate, --deactivate, > # Remove commands from control.sh: --read-only-on, --read-only-off (no one > release wasn't published with this functional) > # Add new methods to {{IgniteConfiguration}}: > #* {{ClusterState getClusterStateOnStart()}} > #* {{IgniteConfiguration setClusterStateOnStart(ClusterState state)}} > # Deprecate methods in {{IgniteConfiguration}}: > #* {{boolean isActiveOnStart()}} > #* {{IgniteConfiguration setActiveOnStart(boolean activeOnStart)}} > # Depracate ClusterActivationEvent and introduce new ClusterStateChangeEvent. -- This message was sent by Atlassian Jira (v8.3.4#803005)