• Annamalai Gurusami's avatar
    Bug #16411457 MASTER THREAD CANNOT EXIT FLUSH_LOOP WHEN · fce64480
    Annamalai Gurusami authored
    INNODB_FAST_SHUTDOWN IS 2
    
    Problem:
    
    When innodb_fast_shutdown is set to 2 and the master thread enters
    flush loop, under some circumstances it will not be able to exit it.
    This may lead to a shutdown hanging.
    
    This is happening because of the following:
    
    1. In the flush_loop block of code, if the srv_fast_shutdown is
       equal to 2 (very fast shutdown), then we do not flush dirty
       pages in buffer pool to disk.
     
    2. In the same flush_loop block of code, if the number of dirty
       pages is more than user specified limit, we go to step 1.
    
    This results in infinite loop.
    
    Solution:
    
    When we are in the process of doing a very fast shutdown, don't
    do step 2 above.
    
    rb#2328 approved by Inaam.
    fce64480
srv0srv.c 96.2 KB