1. 15 Mar, 2010 8 commits
    • Vladislav Vaintroub's avatar
      merge · 74211ed9
      Vladislav Vaintroub authored
      74211ed9
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk. · 9cc2d776
      Alexander Nozdrin authored
      9cc2d776
    • Alexander Nozdrin's avatar
      A patch for Bug#52071 (rpl_ndb.rpl_ndb_ctype_ucs2_def fails). · fa2d2c18
      Alexander Nozdrin authored
      Use new command line options instead of deprecated and removed ones.
      fa2d2c18
    • Alexander Nozdrin's avatar
      d9a074e1
    • Magnus Blåudd's avatar
      Merge · a9541803
      Magnus Blåudd authored
      a9541803
    • Magnus Blåudd's avatar
      Merge in fix for bug#42589 · fda5004d
      Magnus Blåudd authored
      fda5004d
    • Jon Olav Hauglid's avatar
      Bug #51160 Deadlock around SET GLOBAL EVENT_SCHEDULER = ON|OFF · dd69b281
      Jon Olav Hauglid authored
      This deadlock could occour betweeen one connection executing
      SET GLOBAL EVENT_SCHEDULER= ON and another executing SET GLOBAL
      EVENT_SCHEDULER= OFF. The bug was introduced by WL#4738.
      
      The first connection would hold LOCK_event_metadata (protecting
      the global variable) while trying to lock LOCK_global_system_variables
      starting the event scheduler thread (in THD:init()).
      
      The second connection would hold LOCK_global_system_variables
      while trying to get LOCK_event_scheduler after stopping the event
      scheduler inside event_scheduler_update().
      
      This patch fixes the problem by not using LOCK_event_metadata to
      protect the event_scheduler variable. It is still protected using
      LOCK_global_system_variables. This fixes the deadlock as it removes 
      one of the two mutexes used to produce it.
      
      However, this patch opens up the possibility that the event_scheduler
      variable and the real event_scheduler state can become out of sync
      (e.g. variable = OFF, but scheduler running). But this can only
      happen under very unlikely conditions - two concurrent SET GLOBAL
      statments, with one thread interrupted at the exact wrong moment.
      This is preferable to having the possibility of a deadlock.
      
      This patch also fixes a bug where it was possible to exit create_event()
      without releasing LOCK_event_metadata if running out of memory during
      its exection.
      
      No test case added since a repeatable test case would have required
      excessive use of new sync points. Instead we rely on the fact that
      this bug was easily reproduceable using RGQ tests.
      dd69b281
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk. · 27bb4377
      Alexander Nozdrin authored
      27bb4377
  2. 12 Mar, 2010 8 commits
  3. 11 Mar, 2010 8 commits
  4. 10 Mar, 2010 16 commits