diff options
Diffstat (limited to '0131-tests-dht-Test-that-lookups-are-sent-post-brick-up.patch')
-rw-r--r-- | 0131-tests-dht-Test-that-lookups-are-sent-post-brick-up.patch | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/0131-tests-dht-Test-that-lookups-are-sent-post-brick-up.patch b/0131-tests-dht-Test-that-lookups-are-sent-post-brick-up.patch new file mode 100644 index 0000000..6238fb1 --- /dev/null +++ b/0131-tests-dht-Test-that-lookups-are-sent-post-brick-up.patch @@ -0,0 +1,113 @@ +From a0949929282529e0e866e074721c1bdfe3928c8c Mon Sep 17 00:00:00 2001 +From: N Balachandran <nbalacha@redhat.com> +Date: Thu, 11 Apr 2019 12:12:12 +0530 +Subject: [PATCH 131/141] tests/dht: Test that lookups are sent post brick up + +upstream: https://review.gluster.org/#/c/glusterfs/+/22545/ + +>Change-Id: I3556793c5e9d58cc6a08644b41dc5740fab2610b +>updates: bz#1628194 + +BUG:1704562 +Change-Id: Ie45331298902bd5268c56cb29a966d8246abfd6d +Signed-off-by: N Balachandran <nbalacha@redhat.com> +Reviewed-on: https://code.engineering.redhat.com/gerrit/169592 +Tested-by: RHGS Build Bot <nigelb@redhat.com> +Reviewed-by: Atin Mukherjee <amukherj@redhat.com> +--- + tests/basic/distribute/brick-down.t | 83 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 83 insertions(+) + create mode 100644 tests/basic/distribute/brick-down.t + +diff --git a/tests/basic/distribute/brick-down.t b/tests/basic/distribute/brick-down.t +new file mode 100644 +index 0000000..522ccc0 +--- /dev/null ++++ b/tests/basic/distribute/brick-down.t +@@ -0,0 +1,83 @@ ++#!/bin/bash ++ ++. $(dirname $0)/../../include.rc ++. $(dirname $0)/../../volume.rc ++. $(dirname $0)/../../common-utils.rc ++. $(dirname $0)/../../dht.rc ++ ++# Test 1 overview: ++# ---------------- ++# Test whether lookups are sent after a brick comes up again ++# ++# 1. Create a 3 brick pure distribute volume ++# 2. Fuse mount the volume so the layout is set on the root ++# 3. Kill one brick and try to create a directory which hashes to that brick. ++# It should fail with EIO. ++# 4. Restart the brick that was killed. ++# 5. Do not remount the volume. Try to create the same directory as in step 3. ++ ++cleanup ++ ++TEST glusterd ++TEST pidof glusterd ++ ++TEST $CLI volume create $V0 $H0:$B0/$V0-{1..3} ++TEST $CLI volume start $V0 ++ ++# We want the lookup to reach DHT ++TEST $CLI volume set $V0 performance.stat-prefetch off ++ ++# Mount using FUSE and lookup the mount so a layout is set on the brick root ++TEST glusterfs --entry-timeout=0 --attribute-timeout=0 -s $H0 --volfile-id $V0 $M0 ++ ++ls $M0/ ++ ++TEST mkdir $M0/level1 ++ ++# Find a dirname that will hash to the brick we are going to kill ++hashed=$V0-client-1 ++TEST dht_first_filename_with_hashsubvol "$hashed" $M0 "dir-" ++roottestdir=$fn_return_val ++ ++hashed=$V0-client-1 ++TEST dht_first_filename_with_hashsubvol "$hashed" $M0/level1 "dir-" ++level1testdir=$fn_return_val ++ ++ ++TEST kill_brick $V0 $H0 $B0/$V0-2 ++EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" brick_up_status $V0 $H0 $B0/$V0-2 ++ ++TEST $CLI volume status $V0 ++ ++ ++# Unmount and mount the volume again so dht has an incomplete in memory layout ++ ++umount -f $M0 ++TEST glusterfs --entry-timeout=0 --attribute-timeout=0 -s $H0 --volfile-id $V0 $M0 ++ ++ ++mkdir $M0/$roottestdir ++TEST [ $? -ne 0 ] ++ ++mkdir $M0/level1/$level1testdir ++TEST [ $? -ne 0 ] ++ ++TEST $CLI volume start $V0 force ++EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/$V0-2 ++ ++#$CLI volume status ++ ++# It takes a while for the client to reconnect to the brick ++sleep 5 ++ ++ ++mkdir $M0/$roottestdir ++TEST [ $? -eq 0 ] ++ ++mkdir $M0/$level1/level1testdir ++TEST [ $? -eq 0 ] ++ ++# Cleanup ++cleanup ++ ++ +-- +1.8.3.1 + |