[Bugs] [Bug 1650115] glusterd requests are timing out in a brick multiplex setup

bugzilla at redhat.com bugzilla at redhat.com
Thu Nov 15 11:43:09 UTC 2018


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

Mohammed Rafi KC <rkavunga at redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|bugs at gluster.org            |rkavunga at redhat.com



--- Comment #1 from Mohammed Rafi KC <rkavunga at redhat.com> ---
RCA done by Atin,
<snipet>
When we kill a brick and glusterd gets a disconnect event we get into a code
snippet which turns out to be a very costly loop with too many iterations and
with such scale where ~1300 volumes are configured, this thread take minutes
which causes the other requests to queue up.

                if (is_brick_mx_enabled()) {                                    
                        cds_list_for_each_entry (brick_proc,
&conf->brick_procs,
                                                 brick_proc_list) {             
                                cds_list_for_each_entry (brickinfo_tmp,         
                                                         &brick_proc->bricks,   
                                                         brick_list) {          
                                        if (strcmp (brickinfo_tmp->path,        
                                                    brickinfo->path) == 0) {    
                                                ret  =
glusterd_mark_bricks_stopped_by_proc
                                                       (brick_proc);            
                                                if (ret) {                      
                                                        gf_msg(THIS->name,      
                                                               GF_LOG_ERROR, 0, 
                                                              
GD_MSG_BRICK_STOP_FAIL,
                                                               "Unable to stop
"
                                                               "bricks of
process"
                                                               " to which
brick(%s)"
                                                               " belongs",      
                                                              
brickinfo->path);
                                                        goto out;               
                                                }                               
                                                temp = 1;                       
                                                break;                          
                                        }                                       
                                }                                               
                                if (temp == 1)                                  
                                        break;                                  
                        }                                                       
                }

</snipet>

-- 
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