1. 28 Mar, 2021 13 commits
    • Daniel Black's avatar
      MDEV-5536: socket activation info - verbose · e1a514d5
      Daniel Black authored
      NI_MAXSERV is only 32 is a bit limiting on unix paths.
      
      use gai_strerror for errors as strings.
      
      Include extra info in log if those are marked as such.
      e1a514d5
    • Daniel Black's avatar
      MDEV-5536: Deb - socket activation - service enable · cba6bbbf
      Daniel Black authored
      Enable mariadb.service but install mariadb.socket
      without enabling them.
      cba6bbbf
    • Daniel Black's avatar
      MDEV-5536: Debian systemd socket activation · 99f85eec
      Daniel Black authored
      Attempt to follow the rules using dh_system_enable
      to install the sockets.
      
      Enable the sockets as opposed to the services by default.
      99f85eec
    • Daniel Black's avatar
      MDEV-5536: add systemd socket activation · 460d480c
      Daniel Black authored
      Systemd has a socket activation feature where a mariadb.socket
      definition defines the sockets to listen to, and passes those
      file descriptors directly to mariadbd to use when a connection
      occurs.
      
      The new functionality is utilized when starting as follows:
      
        systemctl start mariadb.socket
      
      The mariadb.socket definition only needs to contain the network
      information, ListenStream= directives, the mariadb.service
      definition is still used for service instigation.
      
      When mariadbd is started in this way, the socket, port, bind-address
      backlog are all assumed to be self contained in the mariadb.socket
      definition and as such the mariadb settings and command line
      arguments of these network settings are ignored.
      See man systemd.socket for how to limit this to specific ports.
      
      Extra ports, those specified with extra_port in socket activation
      mode, are those with a FileDescriptorName=extra. These need
      to be in a separate service name like mariadb-extra.socket and
      these require a Service={mariadb.service} directive to map to the
      original service. Extra ports need systemd v227 or greater
      (not RHEL/Centos7 - v219) when FileDescriptorName= was added,
      otherwise the extra ports are treated like ordinary ports.
      
      The number of sockets isn't limited when using systemd socket activation
      (except by operating system limits on file descriptors and a minimal
      amount of memory used per file descriptor). The systemd sockets passed
      can include any ownership or permissions, including those the
      mariadbd process wouldn't normally have the permission to create.
      
      This implementation is compatible with mariadb.service definitions.
      Those services started with:
      
        systemctl start mariadb.service
      
      does actually start the mariadb.service and used all the my.cnf
      settings of sockets and ports like it previously did.
      460d480c
    • Anel Husakovic's avatar
      Add mariadb-dumpslow to scripts. · fa0ad2fb
      Anel Husakovic authored
      fa0ad2fb
    • Daniel Black's avatar
    • Daniel Black's avatar
    • Anel Husakovic's avatar
      Separate client and server components (man/scripts) · 09202b2e
      Anel Husakovic authored
      cleanups from PR 900:
      
      - Use mariadb names instead of mysql and add secure-installation and
      additionally organize man pages.
      
      - Remove obsolete script `/make_binary_distribution`
      - Don't build binary `mariadb-install-db` in case of without-server
      09202b2e
    • Bernard Spil's avatar
      Make `replace` utility a Client component · 3523aedb
      Bernard Spil authored
      based on the man-page
      ```
      The replace program is used by msql2mysql. See msql2mysql(1).
      ```
      msql2mysql is labeled as Client component, so should the dependency
      
      Closes PR #900
      3523aedb
    • Anel Husakovic's avatar
    • Bernard Spil's avatar
      Make my_print_default a client app (required by mytop) · 4f8945e0
      Bernard Spil authored
      Closes PR #1566
      4f8945e0
    • Daniel Black's avatar
      Remove server man pages from WITHOUT_SERVER · 4cea3843
      Daniel Black authored
      4cea3843
    • Anel Husakovic's avatar
      MDEV-23429: Remove WSREP when using WITHOUT_SERVER · 67eeb777
      Anel Husakovic authored
      Under WITHOUT_WSREP:
      
      Exclude support files that are server only like
      * wsrep.cnf
      * wsrep_notify
      * log rotate config files
      * mysqld_multi
      
      Exclude man pages of server components
      67eeb777
  2. 27 Mar, 2021 4 commits
  3. 26 Mar, 2021 6 commits
    • Michael Okoko's avatar
      Replace mallinfo with mallinfo2 on supported systems · 48141f3c
      Michael Okoko authored
      `mallinfo` is deprecated since glibc 2.33 and has been replaced by mallinfo2.
      The deprecation causes building the server to fail if glibc version is > 2.33.
      
      Check if mallinfo2 exist on the system and use it instead.
      48141f3c
    • Eugene Kosov's avatar
    • Eugene Kosov's avatar
      MDEV-25238 add support for -fsanitize-address-use-after-scope · dfae51de
      Eugene Kosov authored
      Use like this: cmake -DWITH_ASAN=ON -DWITH_ASAN_SCOPE=ON
      dfae51de
    • Marko Mäkelä's avatar
      MDEV-24786: row_upd_clust_step() skips mtr_t::commit() on virtual column error · a6d66fe7
      Marko Mäkelä authored
      The function row_upd_clust_step() is invoking several static functions,
      some of which used to commit the mini-transaction in some cases.
      If innobase_get_computed_value() would fail due to some reason,
      we would fail to invoke mtr_t::commit() and release buffer pool
      page latches. This would likely lead to a hanging server later.
      
      This regression was introduced in
      commit 97db6c15 (MDEV-20618).
      
      row_upd_index_is_referenced(), row_upd_sec_index_entry(),
      row_upd_sec_index_entry(): Cleanup: Replace some ibool with bool.
      
      row_upd_clust_rec_by_insert(), row_upd_clust_rec(): Guarantee that
      the mini-transaction will always remain in active state.
      
      row_upd_del_mark_clust_rec(): Guarantee that
      the mini-transaction will always remain in active state.
      This fixes one "leak" of mini-transaction on DB_COMPUTE_VALUE_FAILED.
      
      row_upd_clust_step(): Use only one return path, which will always
      invoke mtr.commit(). After a failed row_upd_store_row() call, we
      will no longer "leak" the mini-transaction.
      
      This fix was verified by RQG on 10.6 (depending on MDEV-371 that
      was introduced in 10.4). Unfortunately, it is challenging to
      create a regression test for this, and a test case could soon become
      invalid as more bugs in virtual column evaluation are fixed.
      a6d66fe7
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · 356c1496
      Marko Mäkelä authored
      356c1496
    • Marko Mäkelä's avatar
      MDEV-25265: ALTER TABLE...IMPORT TABLESPACE fails after DROP INDEX · 2e67b9f6
      Marko Mäkelä authored
      A side effect of the MDEV-24589 bug fix is that if
      FLUSH TABLE...FOR EXPORT is initiated before the history of an
      earlier DROP INDEX operation has been purged, then the data file
      will contain allocated pages that belonged to the dropped indexes.
      These pages would never be freed after a subsequent IMPORT TABLESPACE.
      
      We will work around this regression by making IMPORT TABLESPACE
      tolerate pages that refer to an unknown index.
      2e67b9f6
  4. 25 Mar, 2021 5 commits
  5. 24 Mar, 2021 5 commits
  6. 23 Mar, 2021 7 commits
    • Sergei Golubchik's avatar
      c4807c10
    • Vladislav Vaintroub's avatar
      CMake cleanup · cb545f11
      Vladislav Vaintroub authored
      - use FIND_PACKAGE(LIBAIO) to find libaio
      - Use standard CMake conventions in Find{PMEM,URING}.cmake
      - Drop the LIB from LIB{PMEM,URING}_{INCLUDE_DIR,LIBRARIES}
        It is cleaner, and consistent with how other packages are handled in CMake.
        e.g successful FIND_PACKAGE(PMEM) now sets PMEM_FOUND, PMEM_LIBRARIES,
        PMEM_INCLUDE_DIR, not  LIBPMEM_{FOUND,LIBRARIES,INCLUDE_DIR}.
      - Decrease the output. use FIND_PACKAGE with QUIET argument.
      - for Linux packages, either liburing, or libaio is required
        If liburing is installed, libaio does not need to be present   .
        Use FIND_PACKAGE([LIBAIO|URING] REQUIRED) if either library is required.
      cb545f11
    • Marko Mäkelä's avatar
      MDEV-24589 DROP TABLE is not crash-safe · e731a283
      Marko Mäkelä authored
      row_upd_clust_step(): Remove the "trigger" on DELETE SYS_INDEXES
      that would invoke dict_drop_index_tree(). Let us do it on purge.
      
      row_purge_remove_clust_if_poss_low(): Invoke
      dict_drop_index_tree() when purging a delete-marked SYS_INDEXES record.
      e731a283
    • Marko Mäkelä's avatar
      fixup cebf9ee2 · 8b115503
      Marko Mäkelä authored
      8b115503
    • Marko Mäkelä's avatar
      MDEV-15528 fixup: Remove dict_table_open_on_index_id() · 8f23aab0
      Marko Mäkelä authored
      dict_table_open_on_index_id(): Remove. This function was used by
      the background scrubbing, which was removed in
      commit a5584b13.
      8f23aab0
    • Daniele Sciascia's avatar
      Follow up fixes for making @@wsrep_provider read-only · 3dae5647
      Daniele Sciascia authored
      * Remove usage of wsrep_provider variable in galera_ist_restart_joiner
      * Rename galera_load_provider.inc and galera_unload_provider.inc to
        galera_stop_replication.inc and galera_start_replication.inc. Their
        original names were no longer reflecting what these include files do.
      
      followup for ce3a2a68Reviewed-by: default avatarJan Lindström <jan.lindstrom@mariadb.com>
      3dae5647
    • Daniel Black's avatar
      purge HAVE_CLOSE_SERVER_SOCK from sql/mysqld.cc · 2e31b2ff
      Daniel Black authored
      When we are testing under valgrind, we should be
      testing the actual code path used in production code.
      
      This optimization of using shutdown did, in pre-2009,
      help purify shutdown quickly. In
      b125770a this magicly
      equated to valgrind, in 2009.
      
      Reviewer: Monty
      2e31b2ff