[Bugs] [Bug 1232686] New: quorum calculation might go for toss for a concurrent peer probe command

bugzilla at redhat.com bugzilla at redhat.com
Wed Jun 17 09:59:08 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1232686

            Bug ID: 1232686
           Summary: quorum calculation might go for toss for a concurrent
                    peer probe command
           Product: GlusterFS
           Version: mainline
         Component: glusterd
          Assignee: bugs at gluster.org
          Reporter: amukherj at redhat.com
                CC: bugs at gluster.org, gluster-bugs at redhat.com



Description of problem:

Current codebase is skipping quorum calculation check if there a peer is in
process of joining the cluster (quorum_contrib = QUORUM_WAITING). This might
very well impact the server side quorum feature. We would allow operations to
proceed even if the server side quorum is not met. 

The reproducer is pretty hard as to get to a state of a peer where its
quorum_contrib is set to QUORUM_WAITING. However running the following test
case might fail in the last volume stop command.

#!/bin/bash                                                                    
. $(dirname $0)/../../include.rc                                                
. $(dirname $0)/../../volume.rc                                                 
. $(dirname $0)/../../cluster.rc                                                

cleanup;                                                                        

TEST launch_cluster 4;                                                          

TEST $CLI_1 peer probe $H2;                                                     
TEST $CLI_1 peer probe $H3;                                                     

EXPECT_WITHIN $PROBE_TIMEOUT 2 peer_count                                       

TEST $CLI_1 volume create $V0 $H1:$B1/$V0 $H2:$B2/$V0                           
TEST $CLI_1 volume set $V0 cluster.server-quorum-type server                    
TEST $CLI_1 volume start $V0                                                    

TEST kill_glusterd 2                                                            
TEST kill_glusterd 3                                                            

TEST ! $CLI_1 volume stop $V0;                                                  

cleanup;  

Version-Release number of selected component (if applicable):
Mainline

How reproducible:
Rare

Steps to Reproduce:
1. Source install gluster
2. run the above test cases in a loop and it might fail in the last test case

Actual results:
last test case might fail

Expected results:
All the test cases should pass every time.

Additional info:

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list