From f6c0b59725615da10435c40fec0f26dae542de74 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Tue, 21 May 2019 10:58:44 +0530 Subject: tests: Fix spurious failures in ta-write-on-bad-brick.t Problem: afr_child_up_status_meta works only when LOOKUP on $M0 is successful. There are cases where quorum is not met and LOOKUP fails on $M0 which leads to failures similar to: grep: /mnt/glusterfs/0/.meta/graphs/active/patchy-replicate-0/private: Transport endpoint is not connected This was happening once in a while based on attribute-timeout and md-cache not serving the lookup. Fix: Find child-up status based on statedump instead. Also changed mount options to include --entry-timeout=0 and --attribute-timeout=0 updates bz#1193929 Change-Id: Ic0de72c3006d7399a5feb3e4d10d4748949b2ab3 Signed-off-by: Pranith Kumar K --- tests/thin-arbiter.rc | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'tests/thin-arbiter.rc') diff --git a/tests/thin-arbiter.rc b/tests/thin-arbiter.rc index 72202eeb53f..29edeb1222b 100644 --- a/tests/thin-arbiter.rc +++ b/tests/thin-arbiter.rc @@ -173,7 +173,7 @@ function ta_start_mount_process() { mkdir -p $1 identifier=$(echo $1 | tr / .) - if glusterfs -p $B0/${identifier}.pid --volfile=$B0/mount.vol $1 + if glusterfs --entry-timeout=0 --attribute-timeout=0 -p $B0/${identifier}.pid --volfile=$B0/mount.vol $1 then cat $B0/$identifier.pid else @@ -182,6 +182,13 @@ function ta_start_mount_process() fi } +function ta_get_mount_pid() +{ + local mount_path=$1 + identifier=$(echo $mount_path | tr / .) + cat $B0/${identifier}.pid +} + function ta_create_mount_volfile() { local b0=$B0/$1 @@ -607,3 +614,16 @@ function ta_start_shd_process() return 1 fi } + +function ta_mount_child_up_status() +{ + local mount_path=$1 + #brick_id is (brick-num in volume info - 1) + local vol=$2 + local brick_id=$3 + local pid=$(ta_get_mount_pid $mount_path) + local fpath=$(generate_statedump $pid) + up=$(grep -a -B1 trusted.afr.$vol-client-$brick_id $fpath | head -1 | cut -f2 -d'=') + rm -f $fpath + echo "$up" +} -- cgit