1. 27 Apr, 2020 18 commits
  2. 26 Apr, 2020 1 commit
    • Monty's avatar
      Fixed shutdown crash in Aria that affects debug binaries · 81511b47
      Monty authored
      MDEV-18286 Assertion `pagecache->cnt_for_resize_op == 0' failed in
      check_pagecache_is_cleaned_up on server shutdown
      
      The reason for the crash is that the counter-of-pinned-pages in the
      Aria pagecache goes wrong.
      This only affects debug builds, as in these we do an assert on shutdown
      if the counter-of-pinned-pages is not 0 (some page was left pinned).
      
      The bug was that in 2 places in the page cache, when not succeeding to
      pin a page and a retry was made, the counter-of-pinned-pages counter was
      not properly adjusted.
      
      In the given test case, BLOCK_COMMIT flushed all Aria files. If a block was flushed at the same time the insert tried to access it, the insert would retry to get the block and that would cause the counter to go wrong.
      81511b47
  3. 24 Apr, 2020 8 commits
    • Eugene Kosov's avatar
      cleanup THR_KEY_mysys · 2c5067b6
      Eugene Kosov authored
      read TLS with my_thread_var
      write TLS with set_mysys_var()
      
      my_thread_var is no longer __attribute__ ((const)): this attribute
      is simply incorrect here. Read gcc manual for more information.
      sql/threadpool_generic.cc fails with that attribute.
      2c5067b6
    • Marko Mäkelä's avatar
      MDEV-14735: Fix -Wunused-const-variable · a1978252
      Marko Mäkelä authored
      a1978252
    • Marko Mäkelä's avatar
      Fixup d1c3342d for --embedded · be42004d
      Marko Mäkelä authored
      be42004d
    • Marko Mäkelä's avatar
      MDEV-7962 wsrep_on() takes 0.14% in OLTP RO · edd38b50
      Marko Mäkelä authored
      The reason why we have wsrep_on() at all is that the macro WSREP(thd)
      depends on the definition of THD, and that is intentionally an opaque
      data type for InnoDB. So, we cannot avoid invoking wsrep_on(), but
      we can evaluate the less expensive conditions thd && WSREP_ON before
      calling the function.
      
      Global_read_lock: Use WSREP_NNULL(thd) instead of wsrep_on(thd)
      because we not only know the definition of THD but also that
      the pointer is not null.
      
      wsrep_open(): Use WSREP(thd) instead of wsrep_on(thd).
      
      InnoDB: Replace thd && wsrep_on(thd) with wsrep_on(thd), now that
      the condition has been merged to the definition of the macro
      wsrep_on().
      edd38b50
    • Marko Mäkelä's avatar
      MDEV-22203: WSREP_ON is unnecessarily expensive WITH_WSREP=OFF · 2c39f69d
      Marko Mäkelä authored
      If the server is compiled WITH_WSREP=OFF, we should avoid evaluating
      conditions on a global variable that is constant.
      
      WSREP_ON_: Renamed from WSREP_ON. Defined only WITH_WSREP=ON.
      
      WSREP_ON: Defined as unlikely(WSREP_ON_).
      
      wsrep_on(): Defined as WSREP_ON && wsrep_service->wsrep_on_func().
      
      The reason why we have wsrep_on() at all is that the macro WSREP(thd)
      depends on the definition of THD, and that is intentionally an opaque
      data type for InnoDB. So, we cannot avoid invoking wsrep_on(), but
      we can evaluate the less expensive condition WSREP_ON before calling
      the function.
      2c39f69d
    • Jan Lindström's avatar
      MDEV-22203: WSREP_ON is unnecessarily expensive to evaluate · 93475aff
      Jan Lindström authored
      Replaced WSREP_ON macro by single global variable WSREP_ON
      that is then updated at server statup and on wsrep_on and
      wsrep_provider update functions.
      93475aff
    • Marko Mäkelä's avatar
      Cleanup: Make row_upd_store_row() static · da7564ed
      Marko Mäkelä authored
      da7564ed
    • Marko Mäkelä's avatar
      Cleanup: Remove a constant parameter · 57ec41d6
      Marko Mäkelä authored
      row_vers_vc_matches_cluster(): Remove the parameter in_purge,
      which was always passed as in_purge=true.
      
      This parameter became constant in
      mysql/mysql-server@1dec14d346ac55fe72989dccb071f84b3b0d3bd6
      and it always was constant in MariaDB starting from the
      introduction of the function in
      commit 2e814d47 (MariaDB 10.2.2).
      57ec41d6
  4. 23 Apr, 2020 5 commits
  5. 22 Apr, 2020 7 commits
  6. 21 Apr, 2020 1 commit
    • Vlad Lesin's avatar
      MDEV-19347: Mariabackup does not honor ignore_db_dirs from server · 0efe1971
      Vlad Lesin authored
      config.
      
      The solution is to read the system variable value on startup and to fill
      databases_exclude_hash.
      
      xb_load_list_string() became non-static and was reformatted. The system
      variable value is read and processed in get_mysql_vars(), which was also
      reformatted.
      0efe1971