diff options
Diffstat (limited to 'tests/bugs/core/bug-1432542-mpx-restart-crash.t')
| -rw-r--r-- | tests/bugs/core/bug-1432542-mpx-restart-crash.t | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/tests/bugs/core/bug-1432542-mpx-restart-crash.t b/tests/bugs/core/bug-1432542-mpx-restart-crash.t index 970a181c83d..2793d7008e1 100644 --- a/tests/bugs/core/bug-1432542-mpx-restart-crash.t +++ b/tests/bugs/core/bug-1432542-mpx-restart-crash.t @@ -1,10 +1,14 @@ #!/bin/bash +SCRIPT_TIMEOUT=800 + . $(dirname $0)/../../include.rc . $(dirname $0)/../../volume.rc . $(dirname $0)/../../traps.rc -NUM_VOLS=20 +cleanup; + +NUM_VOLS=15 MOUNT_BASE=$(dirname $M0) # GlusterD reports that bricks are started when in fact their attach requests @@ -28,12 +32,17 @@ get_mount_point () { printf "%s/vol%02d" $MOUNT_BASE $1 } +function count_up_bricks { + vol=$1; + $CLI --xml volume status $vol | grep '<status>1' | wc -l +} + create_volume () { local vol_name=$(printf "%s-vol%02d" $V0 $1) local brick_base=$(get_brick_base $1) - local cmd="$CLI volume create $vol_name replica 2" + local cmd="$CLI volume create $vol_name replica 3" local b for b in $(seq 0 5); do local this_brick=${brick_base}/brick$b @@ -42,7 +51,8 @@ create_volume () { done TEST $cmd TEST $CLI volume start $vol_name - EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Started" volinfo_field $vol_name "Status" + # check for 6 bricks and 1 shd daemon to be up and running + EXPECT_WITHIN 120 7 count_up_bricks $vol_name local mount_point=$(get_mount_point $1) mkdir -p $mount_point TEST $GFS -s $H0 --volfile-id=$vol_name $mount_point @@ -69,12 +79,27 @@ TEST $CLI volume set all cluster.brick-multiplex on # Our infrastructure can't handle an arithmetic expression here. The formula # is (NUM_VOLS-1)*5 because it sees each TEST/EXPECT once but needs the other # NUM_VOLS-1 and there are 5 such statements in each iteration. -TESTS_EXPECTED_IN_LOOP=95 +TESTS_EXPECTED_IN_LOOP=84 for i in $(seq 1 $NUM_VOLS); do + starttime="$(date +%s)"; + create_volume $i TEST dd if=/dev/zero of=$(get_mount_point $i)/a_file bs=4k count=1 + # Unmounting to reduce memory footprint on regression hosts + mnt_point=$(get_mount_point $i) + EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $mnt_point + endtime=$(expr $(date +%s) - $starttime) + + echo "Memory Used after $i volumes : $(pmap -x $(pgrep glusterfsd) | grep total)" + echo "Thread Count after $i volumes: $(ps -T -p $(pgrep glusterfsd) | wc -l)" + echo "Time taken : ${endtime} seconds" done +echo "==========" +echo "List of all the threads in the Brick process" +ps -T -p $(pgrep glusterfsd) +echo "==========" + # Kill glusterd, and wait a bit for all traces to disappear. TEST killall -9 glusterd sleep 5 |
