summaryrefslogtreecommitdiff
path: root/0131-tests-dht-Test-that-lookups-are-sent-post-brick-up.patch
diff options
context:
space:
mode:
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.patch113
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
+