1. 13 Nov, 2014 2 commits
    • Jan Lindström's avatar
      MDEV-7100: InnoDB error monitor might unnecessary wait log_sys mutex · 8c7ef99b
      Jan Lindström authored
      Analysis: InnoDB error monitor is responsible to call every second
      sync_arr_wake_threads_if_sema_free() to wake up possible hanging 
      threads if they are missed in mutex_signal_object. This is not 
      possible if error monitor itself is on mutex/semaphore wait. We 
      should avoid all unnecessary mutex/semaphore waits on error monitor.
      Currently error monitor calls function buf_flush_stat_update() 
      that calls log_get_lsn() function and there we will try to get 
      log_sys mutex. Better, solution for error monitor is that in 
      buf_flush_stat_update() we will try to get lsn with 
      mutex_enter_nowait() and if we did not get mutex do not update 
      the stats.
      
      Fix: Use log_get_lsn_nowait() function on buf_flush_stat_update()
      function. If returned lsn is 0, we do not update flush stats. 
      log_get_lsn_nowait() will use mutex_enter_nowait() and if
      we get mutex we return a correct lsn if not we return 0.
      8c7ef99b
    • Kristian Nielsen's avatar
      MDEV-7103: Sporadic test falure in rpl.rpl_parallel_show_binlog_events_purge_logs · 356451fc
      Kristian Nielsen authored
      The test case had a classic mistake: SET DEBUG_SYNC='now SIGNAL xxx'
      followed immediately by SET DEBUG_SYNC='RESET'. This makes it
      possible for the waiter to miss the signal, if it does not manage
      to wake up prior to the RESET.
      356451fc
  2. 12 Nov, 2014 1 commit
    • Kristian Nielsen's avatar
      MDEV-7089: Test failures in main.failed_auth_unixsocket and... · 3180e762
      Kristian Nielsen authored
      MDEV-7089: Test failures in main.failed_auth_unixsocket and plugins.unix_socket depending on environment
      
      The test cases had some --replace_result $USER USER. The problem is that the
      value of $USER can be anything, depending on the name of the unix account that
      runs the test suite. So random parts of the result can be errorneously
      replaced, causing test failures.
      
      Fix by making the replacements more specific, so they will match only the
      intended stuff regardless of the value of $USER.
      
      3180e762
  3. 10 Nov, 2014 1 commit
  4. 03 Nov, 2014 1 commit
  5. 02 Nov, 2014 2 commits
  6. 31 Oct, 2014 2 commits
    • unknown's avatar
      Cleanup. · ee309b10
      unknown authored
      ee309b10
    • Kristian Nielsen's avatar
      Fix sporadic test failure in main.processlist · bad5fdec
      Kristian Nielsen authored
      The test runs a query in one thread, then in another queries the processlist
      and expects to find the first thread in the COM_SLEEP state. The problem is
      that the thread signals completion to the client before changing to COM_SLEEP
      state, so there is a window where the other thread can see the wrong state.
      
      A previous attempt to fix this was ineffective. It set a DEBUG_SYNC to handle
      proper waiting, but unfortunately that DEBUG_SYNC point ended up triggering
      already at the end of SET DEBUG_SYNC=xxx, so the wait was ineffective.
      
      Fix it properly now (hopefully) by ensuring that we wait for the DEBUG_SYNC
      point to trigger at the end of the SELECT SLEEP(), not just at the end of
      SET DEBUG_SYNC=xxx.
      bad5fdec
  7. 28 Oct, 2014 1 commit
  8. 25 Oct, 2014 1 commit
  9. 24 Oct, 2014 3 commits
  10. 21 Oct, 2014 1 commit
  11. 19 Oct, 2014 2 commits
  12. 18 Oct, 2014 2 commits
  13. 17 Oct, 2014 2 commits
  14. 30 Oct, 2014 1 commit
  15. 29 Oct, 2014 6 commits
    • Kristian Nielsen's avatar
      Attempt to fix a failure in test case innodb.innodb_information_schema seen... · 848d1166
      Kristian Nielsen authored
      Attempt to fix a failure in test case innodb.innodb_information_schema seen occasionally in Buildbot.
      
      The test case waits for other threads to complete, but the wait is only 2
      seconds. This is likely to sometimes be too little on our heavily loaded
      buildbot VMs, that can easily stall for more than 2 seconds from time to time.
      
      So let's try to increase the timeout (to about 40 seconds) and see if it
      helps.
      
      848d1166
    • Kristian Nielsen's avatar
      Fix a spurious test failure in rpl.rpl_show_slave_hosts · 2fdb88e8
      Kristian Nielsen authored
      The test case runs SHOW SLAVE HOSTS. The output of this is only stable after
      all slaves have had time to register with the master; this happens
      asynchroneously.
      
      The test was waiting for the slave with server_id=3 to appear in the output,
      but it was missing a similar wait for server_id=2. Thus, if server_id=2 was
      much slower to connect for some reason, it could be missing from the output,
      causing the test to fail.
      2fdb88e8
    • Kristian Nielsen's avatar
      Yet another attempt at fixing random failures in test case main.myisam-metadata · 8e63a7fe
      Kristian Nielsen authored
      I think I finally found the problem, managed to reproduce locally using a
      sleep in the test case to simulate the particular race condition that causes
      the test to fail often in Buildbot.
      
      The test starts an ALTER TABLE that does repair by sort in one thread, then
      another thread waits for the sort to be visible in SHOW PROCESSLIST and runs a
      SHOW statement in parallel.
      
      The problem happens when the sort manages to run to completion before the
      other thread has the time to look at SHOW PROCESSLIST. In this case, the wait
      times out because the state looked for has already passed.
      
      Earlier I added some DEBUG_SYNC to prevent this race, but it turns out that
      DEBUG_SYNC itself changes the state in the processlist. So when the debug sync
      point was hit, the processlist was showing the wrong state, so the wait would
      still time out.
      
      Fixed now by looking for the processlist to contain either the "Repair by
      sorting" state or the debug sync wait stage.
      
      Also clean up previous attempts to fix it. Set the wait timeout back to
      reasonable 60 seconds, and simplify the DEBUG_SYNC operations to work closer
      to how the original test case was intended.
      8e63a7fe
    • Sergey Petrunya's avatar
      Merge · ad66fafb
      Sergey Petrunya authored
      ad66fafb
    • Sergey Petrunya's avatar
      Merge · 35f69fc4
      Sergey Petrunya authored
      35f69fc4
    • Sergey Petrunya's avatar
      Merge 5.3->5.5 · 30b28bab
      Sergey Petrunya authored
      30b28bab
  16. 28 Oct, 2014 5 commits
  17. 22 Oct, 2014 2 commits
  18. 21 Oct, 2014 2 commits
  19. 20 Oct, 2014 2 commits
  20. 16 Oct, 2014 1 commit