Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-12225

Add enum for cluster state

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.9
    • Component/s: None
    • Labels:
      None
    • Ignite Flags:
      Docs Required, Release Notes Required

      Description

      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) [--yes]
      5. Add warn message that command is depricated in control.sh. Commands: --activate, --deactivate,
      6. Remove commands from control.sh: --read-only-on, --read-only-off (no one release wasn't published with this functional)
      7. Add new methods to IgniteConfiguration:
        • ClusterState getClusterStateOnStart()
        • IgniteConfiguration setClusterStateOnStart(ClusterState state)
      8. Deprecate methods in IgniteConfiguration:
        • boolean isActiveOnStart()
        • IgniteConfiguration setActiveOnStart(boolean activeOnStart)
      9. Depracate ClusterActivationEvent and introduce new ClusterStateChangeEvent.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                antonovsergey93 Sergey Antonov
                Reporter:
                antonovsergey93 Sergey Antonov
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m