From 68c97f53561da413c80e6e22d364d00cfb3c8196 Mon Sep 17 00:00:00 2001 From: Ashish Pandey Date: Thu, 4 Feb 2016 12:07:36 +0530 Subject: cluster/ec: Automate heal for replace brick Problem: After a replace brick command, newly added brick does not contain data which existed on old brick. Solution: Do getxattr after initialization of all the bricks. This will trigger heal for brick root as soon as it finds the version mismatch on newly added brick. Removing tests from ec-new-entry.t which were required to simulate automation of heal after replace brick. master - http://review.gluster.org/#/c/13353/ Change-Id: I08e3dfa565374097f6c08856325ea77727437e11 BUG: 1305755 Signed-off-by: Ashish Pandey Reviewed-on: http://review.gluster.org/13353 Reviewed-by: Pranith Kumar Karampuri Tested-by: Pranith Kumar Karampuri Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Signed-off-by: Ashish Pandey Reviewed-on: http://review.gluster.org/13403 Reviewed-by: Xavier Hernandez Tested-by: Xavier Hernandez --- tests/basic/ec/ec-new-entry.t | 10 ---------- tests/basic/ec/ec-read-policy.t | 2 +- 2 files changed, 1 insertion(+), 11 deletions(-) (limited to 'tests/basic') diff --git a/tests/basic/ec/ec-new-entry.t b/tests/basic/ec/ec-new-entry.t index a08bae7a810..3a5c2ee11ec 100644 --- a/tests/basic/ec/ec-new-entry.t +++ b/tests/basic/ec/ec-new-entry.t @@ -23,16 +23,6 @@ touch $M0/11 for i in {1..10}; do dd if=/dev/zero of=$M0/$i bs=1M count=1; done TEST $CLI volume replace-brick $V0 $H0:$B0/${V0}5 $H0:$B0/${V0}6 commit force EXPECT_WITHIN $CHILD_UP_TIMEOUT "6" ec_child_up_count $V0 0 -TEST kill_brick $V0 $H0 $B0/${V0}6 -#simulate pending heal on just the root directory -TEST touch $M0/a -TEST rm -f $M0/a -EXPECT_WITHIN $HEAL_TIMEOUT "^5$" get_pending_heal_count $V0 -TEST $CLI volume start $V0 force -EXPECT_WITHIN $PROCESS_UP_TIMEOUT "[0-9][0-9]*" get_shd_process_pid -EXPECT_WITHIN $CHILD_UP_TIMEOUT "6" ec_child_up_count_shd $V0 0 -EXPECT_WITHIN $CHILD_UP_TIMEOUT "6" ec_child_up_count $V0 0 -TEST $CLI volume heal $V0 EXPECT_WITHIN $HEAL_TIMEOUT "^0$" get_pending_heal_count $V0 #ls -l gives "Total" line so number of lines will be 1 more EXPECT "^12$" num_entries $B0/${V0}6 diff --git a/tests/basic/ec/ec-read-policy.t b/tests/basic/ec/ec-read-policy.t index 891508063e6..4a85bf6ac53 100644 --- a/tests/basic/ec/ec-read-policy.t +++ b/tests/basic/ec/ec-read-policy.t @@ -37,7 +37,7 @@ TEST dd if=/dev/zero of=$M0/1 bs=1M count=4 #Perform reads now from file on the mount, this only tests dispatch_min TEST dd if=$M0/1 of=/dev/null bs=1M count=4 #TEST that reads are executed on all bricks -rr_reads=$($CLI volume profile $V0 info cumulative| grep READ | wc -l) +rr_reads=$($CLI volume profile $V0 info cumulative| grep -w READ | wc -l) EXPECT "^6$" echo $rr_reads TEST $CLI volume profile $V0 info clear -- cgit