[
https://issues.apache.org/jira/browse/GEODE-7954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17076624#comment-17076624
]
Donal Evans commented on GEODE-7954:
------------------------------------
{quote}Do this mean if redundancy is configured for 2 redundant copies, restore
redundancy command would return successfully if there is only one redundant
copy in the cluster?
{quote}
The command will return success status, yes. But the output will also include
information about how many regions do not have fully satisfied redundancy (if
any), so it will be clear to the user what the state of the system is.
The reasoning behind this is that as long as one redundant copy exists, we have
redundancy, although we may not have as much redundancy as we would ideally
want (if it's below the configured level), and so we have protection from data
loss in the event that we lose a member from the system. The difference between
fully satisfied redundancy (x out of x configured copies exist for each bucket)
and partially satisfied redundancy (at least 1 out of x configured copies exist
for each bucket) is much less critical than the difference between partially
satisfied redundancy and zero redundant copies existing at all, where if we
lose a member, we lose all data on that member.
> Create restore redundancy and status redundancy gfsh commands
> -------------------------------------------------------------
>
> Key: GEODE-7954
> URL: https://issues.apache.org/jira/browse/GEODE-7954
> Project: Geode
> Issue Type: New Feature
> Components: gfsh
> Reporter: Donal Evans
> Assignee: Donal Evans
> Priority: Major
>
> Add two gfsh commands to allow redundancy to be restored and to check the
> current redundancy status:
> {{restore redundancy [--include-region=value(,value)*]
> [--exclude-region=value(,value)*] [--dont-reassign-primaries(=value)]}}
> {{status redundancy [--include-region=value(,value)*]
> [--exclude-region=value(,value)*]}}
> The first command will execute a function on members hosting the specified
> partitioned regions and trigger the restore redundancy operation for those
> regions, then report the final redundancy status of those regions.
> The command will return success status if:
> * At least one redundant copy exists for every bucket in regions with
> redundancy configured that were included, either explicitly or implicitly.
> * No partitioned regions were found and none were explicitly included.
> The command will return error status if:
> * At least one bucket in a region has zero redundant copies, and that region
> has redundancy configured.
> * At least one of the explicitly included partitioned regions is not found.
> * There is a member in the system with a version of Geode older than 1.13.0
> (assuming that is the version in which this feature is implemented).
> * The restore redundancy function encounters an exception.
> The second command will determine the current redundancy status for the
> specified regions and report it to the user.
> Both commands will take optional {{\-\-include-region}} and
> {{\-\-exclude-region}} arguments, similar to the existing rebalance command.
> If neither argument is specified, all regions will be included. Included
> regions will take precedence over excluded regions when both are specified.
> The restore redundancy command will also take an optional
> {{\-\-dont-reassign-primaries}} argument to determine if primaries should not
> be reassigned during the operation. The default behaviour will be to reassign
> primaries.
> Both commands will output a list of regions with zero redundant copies first
> (unless they are configured to have zero redundancy), then regions with less
> than their configured redundancy, then regions with full redundancy. The
> restore redundancy command will also output information about how many
> primaries were reassigned and how long that process took, similar to the
> existing rebalance command.
> As described here:
> [https://cwiki.apache.org/confluence/display/GEODE/Redundancy+Gfsh+Commands]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)