1. 08 Sep, 2014 1 commit
  2. 06 Sep, 2014 2 commits
  3. 03 Sep, 2014 1 commit
  4. 31 Aug, 2014 1 commit
  5. 29 Aug, 2014 2 commits
    • Sergey Vojtovich's avatar
      Backport from 10.0: · c01c8192
      Sergey Vojtovich authored
      MDEV-6483 - Deadlock around rw_lock_debug_mutex on PPC64
      
      This problem affects only debug builds on PPC64.
      
      There are at least two race conditions around
      rw_lock_debug_mutex_enter and rw_lock_debug_mutex_exit:
      
      - rw_lock_debug_waiters was loaded/stored without setting
        appropriate locks/memory barriers.
      - there is a gap between calls to os_event_reset() and
        os_event_wait() and in such case we're supposed to pass
        return value of the former to the latter.
      
      Fixed by replacing self-cooked spinlocks with system mutexes.
      These days system mutexes offer much better performance. OTOH
      performance is not that critical for debug builds.
      c01c8192
    • Sergey Vojtovich's avatar
      Backport from 10.0: · 40497577
      Sergey Vojtovich authored
      MDEV-6450 - MariaDB crash on Power8 when built with advance tool
                  chain
      
      InnoDB mutex_exit() function calls __sync_test_and_set() to release
      the lock. According to manual this function is supposed to create
      "acquire" memory barrier whereas in fact we need "release" memory
      barrier at mutex_exit().
      
      The problem isn't repeatable with gcc because it creates
      "acquire-release" memory barrier for __sync_test_and_set().
      ATC creates just "acquire" barrier.
      
      Fixed by creating proper barrier at mutex_exit() by using
      __sync_lock_release() instead of __sync_test_and_set().
      40497577
  6. 25 Aug, 2014 1 commit
    • Sergei Golubchik's avatar
      MDEV-6601 Assertion `!thd->in_active_multi_stmt_transa ction() ||... · dd25e7f0
      Sergei Golubchik authored
      MDEV-6601 Assertion `!thd->in_active_multi_stmt_transa ction() || thd->in_multi_stmt_transaction_mode()' failed on executing a stored procedure with commit
      
      Don't restore the whole of thd->server_status after a routine invocation,
      only restore SERVER_STATUS_CURSOR_EXISTS and SERVER_STATUS_LAST_ROW_SENT,
      as --ps --embedded needs.
      In particular, don't restore SERVER_STATUS_IN_TRANS.
      dd25e7f0
  7. 19 Aug, 2014 1 commit
    • Michael Widenius's avatar
      MDEV-6450 - MariaDB crash on Power8 when built with advance tool chain · 5569132f
      Michael Widenius authored
      Part of this work is based on Stewart Smitch's memory barrier and lower priori
      patches for power8.
      
      - Added memory syncronization for innodb & xtradb for power8.
      - Added HAVE_WINDOWS_MM_FENCE to CMakeList.txt
      - Added os_isync to fix a syncronization problem on power
      - Added log_get_lsn_nowait which is now used srv_error_monitor_thread to ensur
        if log mutex is locked.
      
      All changes done both for InnoDB and Xtradb
      5569132f
  8. 13 Aug, 2014 2 commits
  9. 12 Aug, 2014 2 commits
  10. 05 Aug, 2014 1 commit
  11. 12 Aug, 2014 1 commit
  12. 03 Aug, 2014 3 commits
  13. 02 Aug, 2014 1 commit
    • Sergei Golubchik's avatar
      mysql-5.5.39 merge · 1c6ad62a
      Sergei Golubchik authored
      ~40% bugfixed(*) applied
      ~40$ bugfixed reverted (incorrect or we're not buggy)
      ~20% bugfixed applied, despite us being not buggy
      (*) only changes in the server code, e.g. not cmakefiles
      1c6ad62a
  14. 01 Aug, 2014 5 commits
  15. 31 Jul, 2014 3 commits
  16. 30 Jul, 2014 2 commits
    • Michael Widenius's avatar
      Fix for MDEV-6493: Assertion `table->file->stats.records > 0 || error'... · 53643152
      Michael Widenius authored
      Fix for MDEV-6493: Assertion `table->file->stats.records > 0 || error' failure, or 'Invalid write' valgrind warnings, or crash on scenario with Aria table, view, LOCK TABLES
      
      This bug only happens in case of paritioned tables used in LOCK TABLES and implicit_commit() was called
      (as part of trying to execute a CREATE TABLE withing lock tables)
      
      The problem was that Aria could not move the tables from one transaction to the new one, as thd->open_tables contained
      a partitioned tables and not an Aria table.
      
      Fix:
      - Store a list of all open tables that are part of a share in share->open_tables
      - In maria::implict_commit() use transaction->used_tables & share->open_tables to find out which tables
        was part of the current transaction instead of using thd->open_tables, which may contain partitioned tables.
      
      
      mysql-test/suite/maria/maria_partition.result:
        Added test case
      mysql-test/suite/maria/maria_partition.test:
        Added test case
      storage/maria/ha_maria.cc:
        Use trn->used tables and share->open_tables to find out which tables was part of the current transaction instead of using thd->open_tables.
      storage/maria/ma_close.c:
        Remove closed table from share->open_list
      storage/maria/ma_open.c:
        Add table to share->open_list
      storage/maria/ma_state.c:
        Added comment
      storage/maria/maria_def.h:
        Added share->open_list, a list of all tables that is using this share.
      53643152
    • Michael Widenius's avatar
      Fixed some compiler warnings · a1c1700b
      Michael Widenius authored
      a1c1700b
  17. 29 Jul, 2014 3 commits
  18. 28 Jul, 2014 4 commits
  19. 27 Jul, 2014 1 commit
  20. 26 Jul, 2014 1 commit
  21. 27 Jul, 2014 1 commit
  22. 26 Jul, 2014 1 commit
    • Jan Lindström's avatar
      Fix InnoDB: Assertion failure in thread 2868898624 in file buf0lru.c line 1000 · 8ae26740
      Jan Lindström authored
      InnoDB: Failing assertion: mutex_own(&buf_pool->LRU_list_mutex)
      
      and
      
      InnoDB: Assertion failure in thread 2868898624 in file buf0lru.c line 1077
      InnoDB: Failing assertion: mutex_own(&buf_pool->LRU_list_mutex)
      
      Analysis: Function buf_LRU_free_block might release LRU_list_mutex on
      same cases to avoid mutex order problems, we need to take it back 
      before accessing list. 
      8ae26740