[ 
https://issues.apache.org/jira/browse/GEODE-7954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17097532#comment-17097532
 ] 

ASF subversion and git services commented on GEODE-7954:
--------------------------------------------------------

Commit 84387cefa3baa4a3ef5c9274fe43489bc7aa9ac3 in geode's branch 
refs/heads/develop from Donal Evans
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=84387ce ]

GEODE-7954: restore redundancy and status redundancy gfsh commands (#5004)

* GEODE-7954: restore redundancy and status redundancy gfsh commands

- Add redundancyStatus method to RestoreRedundancyOperation interface
- Add RestoreRedundancyCommand
- Add StatusRedundancyCommand
- Add RedundancyCommandFunction for use by the new commands
- Create RedundancyCommandUtils to hold shared code used by both
commands
- Unit and DUnit tests for all the above

Authored-by: Donal Evans <doev...@pivotal.io>

* Addressing review comments

- Have the gfsh commands extend GfshCommand instead of SingleGfshCommand
- Remove unnecessary try/catch from RedundancyCommandFunction

Authored-by: Donal Evans <doev...@pivotal.io>

* Fix LGTM alerts

Authored-by: Donal Evans <doev...@pivotal.io>

* Applying review feedback

- Refactored tests to reduce code duplication
- Refactored to condense duplicated Restore and Status command code into
one class
- Refactored to condense unit tests for the above classes into one class

Authored-by: Donal Evans <doev...@pivotal.io>

> 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)*] [--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:
>  * Redundancy is fully satisfied for all regions 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 bucket in a region has fewer than the configured number of 
> redundant copies.
>  * 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 
> {{\-\-reassign-primaries}} argument to determine if primaries should be 
> reassigned or not 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)

Reply via email to