diff options
author | Ravishankar N <ravishankar@redhat.com> | 2017-02-27 13:51:09 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2017-03-06 08:26:53 -0500 |
commit | b7ba77ab3ffb641d06223f7af5145d3d670b032a (patch) | |
tree | c6d44151f93b62a0c14a3970546b8072a54591ca /tests/basic/afr | |
parent | 804a65f07ea8e2093f781807651d0d07513b2627 (diff) |
glusterd: disallow increasing replica count for arbiter volumes
Problem: add-brick command to increase replica count in an arbiter
volume succeeds, causing undesirable effects like the 4th brick being
loaded with the arbiter xlator, the 3rd one losing the arbiter xlator
(when the brick process is restarted), arbitration logic in afr going
for a toss etc.
Fix: Arbiter configuration should always be a replica 3 volume (of
which 3rd brick is arbiter). Hence disallow increasing replica count for
arbiter volume configurations.
Change-Id: I9fe4edac880d0f711e6d44324ad5562974e53e51
BUG: 1429200
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: https://review.gluster.org/16845
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Diffstat (limited to 'tests/basic/afr')
-rw-r--r-- | tests/basic/afr/arbiter-add-brick.t | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/basic/afr/arbiter-add-brick.t b/tests/basic/afr/arbiter-add-brick.t index c6fe18cec16..fe919de0ab4 100644 --- a/tests/basic/afr/arbiter-add-brick.t +++ b/tests/basic/afr/arbiter-add-brick.t @@ -60,5 +60,11 @@ EXPECT "1048576" stat -c %s $M0/file2 EXPECT "0" stat -c %s $B0/${V0}2/file1 EXPECT "0" stat -c %s $B0/${V0}2/file2 +#Increasing replica count of arbiter volumes must not be allowed. +TEST ! $CLI volume add-brick $V0 replica 4 $H0:$B0/${V0}3 +TEST ! $CLI volume add-brick $V0 replica 4 arbiter 1 $H0:$B0/${V0}3 + +#Adding another distribute leg should succeed. +TEST $CLI volume add-brick $V0 replica 3 arbiter 1 $H0:$B0/${V0}{3..5} TEST force_umount $M0 cleanup; |