• unknown's avatar
    Bug#25721 · cb5b56c8
    unknown authored
      "Concurrent ALTER/CREATE SERVER can lead to deadlock"
      Deadlock caused by inconsistant use of mutexes in sql_server.cc
      One mutex has been removed to resolve deadlock.
      Many functions were made private which should not be exported.
      Unused variables and function removed.
    
    
    mysql-test/r/federated_server.result:
      Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
      
      New test results
    mysql-test/t/federated_server.test:
      Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
      
      Test for bug by using stored procedure. Unpatched server would deadlock frequently.
    sql/sql_parse.cc:
      Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
      
      check for correct error code when dropping server
    sql/sql_servers.cc:
      Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
      
      Removed unneccessary mutex, only need THR_LOCK_servers rwlock to
      guard data structures against race conditions. Misuse of other mutex
      caused deadlock by inconsistant ordering of mutex lock operations.
      Alter order of some operations to hit memory before disk.
      Removed unused function.
      Removed servers_version and servers_cache_initialised variables.
      Made many internal functions static.
    sql/sql_servers.h:
      Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
      
      remove internal functions from being exported.
    cb5b56c8
sql_parse.cc 205 KB