Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-21399

Unknown variable 'innodb_numa_interleave'

Details

    Description

      [ERROR] /usr/sbin/mysqld: unknown variable 'innodb_numa_interleave=1'
      

      Attachments

        Issue Links

          Activity

            acs-ferreira, where did you install MariaDB from? I think that this is an issue with the build environment or build scripts; the source code for this parameter has not been removed.

            marko Marko Mäkelä added a comment - acs-ferreira , where did you install MariaDB from? I think that this is an issue with the build environment or build scripts; the source code for this parameter has not been removed.
            acs-ferreira acsfer added a comment - - edited

            From http://ams2.mirrors.digitalocean.com/mariadb/repo/10.4/ubuntu/ (Ubuntu 18.04) with a simple

            apt install mariadb-server
            

            acs-ferreira acsfer added a comment - - edited From http://ams2.mirrors.digitalocean.com/mariadb/repo/10.4/ubuntu/ (Ubuntu 18.04) with a simple apt install mariadb-server

            http://buildbot.askmonty.org/buildbot/builders/kvm-deb-bionic-amd64/builds/3707/steps/compile/logs/stdio

            WITH_NUMA=OFF: NUMA memory allocation policy disabled
            

            I don't see it in initial compilation options, so I guess it gets disabled because it doesn't find the library.

            elenst Elena Stepanova added a comment - http://buildbot.askmonty.org/buildbot/builders/kvm-deb-bionic-amd64/builds/3707/steps/compile/logs/stdio WITH_NUMA=OFF: NUMA memory allocation policy disabled I don't see it in initial compilation options, so I guess it gets disabled because it doesn't find the library.

            Closing this (and MDEV-18860) as "Won't Fix" because enabling libnuma will add a dependency to our packages, which is a big no-no for stable releases. If you really need this you'll need to compile your own packages or bintars.

            dbart Daniel Bartholomew added a comment - Closing this (and MDEV-18860 ) as "Won't Fix" because enabling libnuma will add a dependency to our packages, which is a big no-no for stable releases. If you really need this you'll need to compile your own packages or bintars.
            axel Axel Schwenke added a comment -

            When the MariaDB server is started with mysqld_safe, then there is the --numa-interleave option, that causes all memory allocations from the server to be interleaved on all NUMA nodes. This should go into my.cnf:

            [mysqld_safe]
            numa-interleave=1
            

            When the MariaDB server is started by systemd, then there is a corresponding option for the MariaDB unit file:

            [Service]
            NUMAPolicy=interleave
            

            axel Axel Schwenke added a comment - When the MariaDB server is started with mysqld_safe, then there is the --numa-interleave option, that causes all memory allocations from the server to be interleaved on all NUMA nodes. This should go into my.cnf: [mysqld_safe] numa-interleave=1 When the MariaDB server is started by systemd, then there is a corresponding option for the MariaDB unit file: [Service] NUMAPolicy=interleave
            axel Axel Schwenke added a comment - - edited

            The Knowldge Base documents several mysqld_safe options and their counterparts with systemd. It has an alternative solution for --numa-interleave. It might be better to use the solution from the KB, as I'm not sure what version of systemd supports NUMAPolicy and how widely it is available.

            axel Axel Schwenke added a comment - - edited The Knowldge Base documents several mysqld_safe options and their counterparts with systemd. It has an alternative solution for --numa-interleave . It might be better to use the solution from the KB, as I'm not sure what version of systemd supports NUMAPolicy and how widely it is available.
            danblack Daniel Black added a comment -

            Systemd version v243rc1

            Older systemd versions ignore directives

            kb updated.

            danblack Daniel Black added a comment - Systemd version v243rc1 Older systemd versions ignore directives kb updated.

            The configuration parameters in mysqld_safe and systemd slightly differ from what the libnuma dependency in InnoDB is doing, because they should affect all memory allocation, while InnoDB only controls the allocation of the buffer pool. Other global buffers, such as the redo log record buffer, would be allocated using the defaults.

            My intuition suggests that it might be useful to treat strictly thread-local memory allocations differently from allocations of memory that is likely frequently accessed by multiple threads. It could be interesting to compare WITH_NUMA=ON to the ‘wrapper’ solution in a read-only benchmark (read-only, so that the allocation of the redo log buffer would not matter).

            If benchmarks suggest that WITH_NUMA=ON is not faster, then maybe we should remove the compile-time option altogether. Else, we should consider introducing the build dependency in a future major version.

            marko Marko Mäkelä added a comment - The configuration parameters in mysqld_safe and systemd slightly differ from what the libnuma dependency in InnoDB is doing, because they should affect all memory allocation, while InnoDB only controls the allocation of the buffer pool. Other global buffers, such as the redo log record buffer, would be allocated using the defaults. My intuition suggests that it might be useful to treat strictly thread-local memory allocations differently from allocations of memory that is likely frequently accessed by multiple threads. It could be interesting to compare WITH_NUMA=ON to the ‘wrapper’ solution in a read-only benchmark (read-only, so that the allocation of the redo log buffer would not matter). If benchmarks suggest that WITH_NUMA=ON is not faster, then maybe we should remove the compile-time option altogether. Else, we should consider introducing the build dependency in a future major version.

            People

              dbart Daniel Bartholomew
              acs-ferreira acsfer
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.