• unknown's avatar
    Fix for BUG#28030: test im_instance_conf fails with an assert. · 339ea316
    unknown authored
    The problem was a race condition on shutdown -- when IM got shutdown
    request while a guarded mysqld is starting. In this case the Guardian
    thread tried to stop the mysqld, but might fail if the mysqld hadn't
    created pid-file so far. When this happened, the mysqld-monitor thread
    didn't stop, so the assert in Thread_registry happened.
    
    The fix is to make several attempts to stop mysqld if it is active.
    
    
    server-tools/instance-manager/guardian.cc:
      Try to stop mysqld several times if it is still active.
    server-tools/instance-manager/instance.cc:
      Make Instance::kill_mysqld() to return operation status.
    server-tools/instance-manager/instance.h:
      Make Instance::kill_mysqld() to return operation status.
    server-tools/instance-manager/thread_registry.cc:
      Log unregistered thread ids.
    339ea316
instance.cc 23.2 KB