[
https://issues.apache.org/jira/browse/IGNITE-29282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Chugunov updated IGNITE-29282:
-------------------------------------
Fix Version/s: 2.19
> Control utility: add --safe-to-stop-sets command to compute groups of nodes
> that can be stopped simultaneously without data loss
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-29282
> URL: https://issues.apache.org/jira/browse/IGNITE-29282
> Project: Ignite
> Issue Type: New Feature
> Reporter: Sergey Chugunov
> Assignee: Sergey Chugunov
> Priority: Major
> Fix For: 2.19
>
>
> h3. Motivation
> If cluster maintenance operation requires stopping of nodes, the nodes are
> restarted one by one, because stopping an arbitrary group may leave
> partitions without a complete copy and cause data loss. Deciding which nodes
> may go down together requires manual analysis of baseline, affinity and
> partition loss policies.
> Such a command removes that analysis and allows maintenance in batches
> instead of one node at a time, making upgrades and other planned works
> significantly faster while still guaranteeing no data loss.
> h3. Goal
> Add a read-only informational command to the control utility:
> control.sh --safe-to-stop-sets
> It computes and prints groups of server nodes that may be stopped
> simultaneously
> without losing data, i.e. the required number of copies of every partition
> remains
> on the nodes that keep running.
> h3. Proposed behaviour
> * Regular management command Control Utility API.
> * Read-only and advisory: no baseline, cache or cluster state changes; the
> operator or
> a script decides how to use the result.
> * Clear message when no safe set exists (only single-node groups are safe),
> so scripts
> can react on the exit code.
> * Must handle caches with different backup counts and partition loss
> policies, nodes
> not in the baseline, offline nodes, and clusters with and without native
> persistence.
> h3. Out of scope
> * Actually stopping nodes and orchestrating the maintenance procedure
> (possible follow-up).
> * The precise algorithm and formal definition of a "safe" set — subject of a
> separate
> design/spec task; this ticket fixes the UX, the command contract and
> integration points.
> h3. Acceptance criteria
> * --safe-to-stop-sets returns a valid result on a typical multi-node cluster
> with
> backups > 0 and a clear message when no safe set exists.
> * Command is discoverable via --help; --host/--port/--user/--password/SSL
> options work.
> * Tests: unit tests for argument parsing plus integration tests with and
> without
> persistence and with baseline auto-adjust on/off.
> * Documentation: command reference updated.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)