summaryrefslogtreecommitdiffstats
path: root/tests/bugs/bug-1037501.t
diff options
context:
space:
mode:
authorAnand Avati <avati@redhat.com>2014-01-16 16:14:36 -0800
committerVijay Bellur <vbellur@redhat.com>2014-03-22 05:25:57 -0700
commit6d3739292b7b51d2ddbab75b5f884fb38925b943 (patch)
treecf332a881a49c0904a7e023935750c2d080fc1c5 /tests/bugs/bug-1037501.t
parenteb87c96f49b3dd2c7460e58c54ce909c706cd475 (diff)
cluster/afr: refactor
- Remove client side self-healing completely (opendir, openfd, lookup) - Re-work readdir-failover to work reliably in case of NFS - Remove unused/dead lock recovery code - Consistently use xdata in both calls and callbacks in all FOPs - Per-inode event generation, used to force inode ctx refresh - Implement dirty flag support (in place of pending counts) - Eliminate inode ctx structure, use read subvol bits + event_generation - Implement inode ctx refreshing based on event generation - Provide backward compatibility in transactions - remove unused variables and functions - make code more consistent in style and pattern - regularize and clean up inode-write transaction code - regularize and clean up dir-write transaction code - regularize and clean up common FOPs - reorganize transaction framework code - skip setting xattrs in pending dict if nothing is pending - re-write self-healing code using syncops - re-write simpler self-heal-daemon Change-Id: I1e4080c9796c8a2815c2dab4be3073f389d614a8 BUG: 1021686 Signed-off-by: Anand Avati <avati@redhat.com> Reviewed-on: http://review.gluster.org/6010 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'tests/bugs/bug-1037501.t')
-rwxr-xr-xtests/bugs/bug-1037501.t242
1 files changed, 33 insertions, 209 deletions
diff --git a/tests/bugs/bug-1037501.t b/tests/bugs/bug-1037501.t
index d11c788a0..596122a72 100755
--- a/tests/bugs/bug-1037501.t
+++ b/tests/bugs/bug-1037501.t
@@ -24,14 +24,6 @@ TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}-{0,1,2}
EXPECT "$V0" volinfo_field $V0 'Volume Name';
EXPECT 'Created' volinfo_field $V0 'Status';
-## Make sure io-cache and write-behind don't interfere.
-TEST $CLI volume set $V0 data-self-heal off;
-
-## Make sure automatic self-heal doesn't perturb our results.
-TEST $CLI volume set $V0 cluster.self-heal-daemon off
-
-TEST $CLI volume set $V0 background-self-heal-count 0
-
## Start volume and verify
TEST $CLI volume start $V0;
EXPECT 'Started' volinfo_field $V0 'Status';
@@ -48,206 +40,38 @@ TEST $CLI volume add-brick $V0 replica 4 $H0:$B0/$V0-3 force
TEST $CLI volume add-brick $V0 replica 5 $H0:$B0/$V0-4 force
TEST $CLI volume add-brick $V0 replica 6 $H0:$B0/$V0-5 force
-sleep 10
-
-TEST ls $M0/
-
-
-function compare()
-{
- var=-1;
- if [ $1 == $2 ]; then
- var=0;
- else
- var=-1;
- fi
-
- echo $var
-}
-
-var2="000000000000000000000000"
-
-var1=`getfattr -d -m . $B0/$V0-0/File -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/File -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/File -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/File -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1| cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/File -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/File -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/File -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/File -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/File -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/Dir -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/Dir -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/Dir -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/Dir -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/Dir -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/Dir -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/Dir -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/Dir -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/Dir -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-
-var1=`getfattr -d -m . $B0/$V0-0/Link -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/Link -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/Link -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/Link -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/Link -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/Link -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/Link -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/Link -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/Link -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-
-
-var1=`getfattr -d -m . $B0/$V0-0/FIFO -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/FIFO -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-0/FIFO -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/FIFO -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/FIFO -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-1/FIFO -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/FIFO -e hex 2>&1 | grep "client-3"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/FIFO -e hex 2>&1 | grep "client-4"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
-
-var1=`getfattr -d -m . $B0/$V0-2/FIFO -e hex 2>&1 | grep "client-5"`
-EXPECT "0" echo $?
-var3=`echo $var1 | cut -d x -f 2`
-EXPECT_NOT $var2 echo $var3
+sleep 5
+
+TEST gluster volume heal $V0 full
+
+sleep 5
+
+EXPECT 10 stat -c '%s' $B0/$V0-0/File
+EXPECT 10 stat -c '%s' $B0/$V0-1/File
+EXPECT 10 stat -c '%s' $B0/$V0-2/File
+EXPECT 10 stat -c '%s' $B0/$V0-3/File
+EXPECT 10 stat -c '%s' $B0/$V0-4/File
+EXPECT 10 stat -c '%s' $B0/$V0-5/File
+
+EXPECT 3 stat -c '%h' $B0/$V0-0/Link
+EXPECT 3 stat -c '%h' $B0/$V0-1/Link
+EXPECT 3 stat -c '%h' $B0/$V0-2/Link
+EXPECT 3 stat -c '%h' $B0/$V0-3/Link
+EXPECT 3 stat -c '%h' $B0/$V0-4/Link
+EXPECT 3 stat -c '%h' $B0/$V0-5/Link
+
+EXPECT 'directory' stat -c '%F' $B0/$V0-0/Dir
+EXPECT 'directory' stat -c '%F' $B0/$V0-1/Dir
+EXPECT 'directory' stat -c '%F' $B0/$V0-2/Dir
+EXPECT 'directory' stat -c '%F' $B0/$V0-3/Dir
+EXPECT 'directory' stat -c '%F' $B0/$V0-4/Dir
+EXPECT 'directory' stat -c '%F' $B0/$V0-5/Dir
+
+EXPECT 'fifo' stat -c '%F' $B0/$V0-0/FIFO
+EXPECT 'fifo' stat -c '%F' $B0/$V0-1/FIFO
+EXPECT 'fifo' stat -c '%F' $B0/$V0-2/FIFO
+EXPECT 'fifo' stat -c '%F' $B0/$V0-3/FIFO
+EXPECT 'fifo' stat -c '%F' $B0/$V0-4/FIFO
+EXPECT 'fifo' stat -c '%F' $B0/$V0-5/FIFO
cleanup;