From d9cc672719b96168c46bc82334f44efc010adad5 Mon Sep 17 00:00:00 2001 From: Mohammed Rafi KC Date: Fri, 29 Jan 2016 16:24:02 +0530 Subject: glusterd/rebalance: initialize defrag variable after glusterd restart During reblance restart after glusterd restarted, we are not connecting to rebalance process from glusterd, because the defrag variable in volinfo will be null. Initializing the variable will connect the rpc Back port of> >Change-Id: Id820cad6a3634a9fc976427fbe1c45844d3d4b9b >BUG: 1303028 >Signed-off-by: Mohammed Rafi KC >Reviewed-on: http://review.gluster.org/13319 >Smoke: Gluster Build System >NetBSD-regression: NetBSD Build System >Reviewed-by: Dan Lambright >CentOS-regression: Gluster Build System (cherry picked from commit a67331f3f79e827ffa4f7a547f6898e12407bbf9) Change-Id: Ieec82a798da937002e09fb9325c93678a5eefca8 BUG: 1311041 Signed-off-by: Mohammed Rafi KC Reviewed-on: http://review.gluster.org/13494 Smoke: Gluster Build System CentOS-regression: Gluster Build System NetBSD-regression: NetBSD Build System Reviewed-by: Atin Mukherjee --- ...03028-Rebalance-glusterd-rpc-connection-issue.t | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 tests/bugs/glusterd/bug-1303028-Rebalance-glusterd-rpc-connection-issue.t (limited to 'tests/bugs') diff --git a/tests/bugs/glusterd/bug-1303028-Rebalance-glusterd-rpc-connection-issue.t b/tests/bugs/glusterd/bug-1303028-Rebalance-glusterd-rpc-connection-issue.t new file mode 100644 index 00000000000..a2a10ee5ef6 --- /dev/null +++ b/tests/bugs/glusterd/bug-1303028-Rebalance-glusterd-rpc-connection-issue.t @@ -0,0 +1,61 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc +. $(dirname $0)/../../tier.rc + + +# Creates a tiered volume with pure distribute hot and cold tiers +# Both hot and cold tiers will have an equal number of bricks. + +function create_dist_tier_vol () { + mkdir $B0/cold + mkdir $B0/hot + TEST $CLI volume create $V0 $H0:$B0/cold/${V0}{1..3} + TEST $CLI volume set $V0 performance.quick-read off + TEST $CLI volume set $V0 performance.io-cache off + TEST $CLI volume start $V0 + TEST $CLI volume attach-tier $V0 $H0:$B0/hot/${V0}{1..2} + TEST $CLI volume set $V0 cluster.tier-mode test +} + +function non_zero_check () { +if [ "$1" -ne 0 ] +then + echo "0" +else + echo "1" +fi +} + + +cleanup; + +#Basic checks +TEST glusterd +TEST pidof glusterd +TEST $CLI volume status + + +#Create and start a tiered volume +create_dist_tier_vol +EXPECT_WITHIN $PROCESS_UP_TIMEOUT 0 tier_deamon_check +sleep 2 #wait for some time to run tier daemon +time_before_restarting=$(rebalance_run_time $V0); + +#checking for elapsed time after sleeping for two seconds. +EXPECT "0" non_zero_check $time_before_restarting; + +#Difference of elapsed time should be positive + +kill -9 $(pidof glusterd); +TEST glusterd; +sleep 2; +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" tier_deamon_check; +time1=$(rebalance_run_time $V0); +EXPECT "0" non_zero_check $time1; +sleep 4; +time2=$(rebalance_run_time $V0); +EXPECT "0" non_zero_check $time2; +diff=`expr $time2 - $time1` +EXPECT "0" non_zero_check $diff; -- cgit