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

mysqld: io_uring_queue_init() failed with errno 1

Details

    Description

      When starting the Docker container, docker logs tells me:
      2025-03-03 5:11:46 0 [Warning] mysqld: io_uring_queue_init() failed with errno 1
      2025-03-03 5:11:46 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF

      I worked before with 10..5.23. This one does not have those warns. The variable innodb_use_native_aio is still ON.
      I tested 10.11.6 and today the latest 10.11.11. They both have these warns.

      I am not sure how performance is affected by disabling native aio.

      Attachments

        Issue Links

          Activity

            marko Marko Mäkelä added a comment -

            I think that a reasonable approach would be to include both libaio and liburing dependencies when they are available, and choose between the two at runtime.

            marko Marko Mäkelä added a comment - I think that a reasonable approach would be to include both libaio and liburing dependencies when they are available, and choose between the two at runtime.
            marko Marko Mäkelä added a comment -

            I created https://github.com/MariaDB/server/pull/3976 for a draft ‘dual stack’ prototype. In its current state, I expect it to fall back to libaio when io_uring is not available. I did not test that, though.

            marko Marko Mäkelä added a comment - I created https://github.com/MariaDB/server/pull/3976 for a draft ‘dual stack’ prototype. In its current state, I expect it to fall back to libaio when io_uring is not available. I did not test that, though.
            danblack Daniel Black added a comment -

            With updated PR:

            $ sudo sysctl kernel.io_uring_disabled=2
            kernel.io_uring_disabled = 2
             
            $ mariadblocaldirect --innodb-linux-aio=aio --innodb-use-native-aio=1
            2025-04-16 15:59:03 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278330
            2025-04-16 15:59:03 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
            2025-04-16 15:59:03 0 [Note] InnoDB: Number of pools: 1
            2025-04-16 15:59:03 0 [Note] InnoDB: Using AVX512 instructions
            2025-04-16 15:59:03 0 [Note] InnoDB: Using Linux native AIO
             
            $ mariadblocaldirect --innodb-linux-aio=auto --innodb-use-native-aio=1
            2025-04-16 15:59:51 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278427
            2025-04-16 15:59:51 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
            2025-04-16 15:59:51 0 [Note] InnoDB: Number of pools: 1
            2025-04-16 15:59:51 0 [Note] InnoDB: Using AVX512 instructions
            2025-04-16 15:59:51 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
            2025-04-16 15:59:51 0 [Warning] InnoDB: io_uring failed: falling back to libaio
            2025-04-16 15:59:51 0 [Note] InnoDB: Using Linux native AIO
             
            $ mariadblocaldirect --innodb-linux-aio=io_uring --innodb-use-native-aio=1
            2025-04-16 16:00:15 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278480
            2025-04-16 16:00:15 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
            2025-04-16 16:00:15 0 [Note] InnoDB: Number of pools: 1
            2025-04-16 16:00:15 0 [Note] InnoDB: Using AVX512 instructions
            2025-04-16 16:00:15 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
            2025-04-16 16:00:15 0 [Warning] InnoDB: native AIO failed: falling back to innodb_use_native_aio=OFF
             
            $ sudo sysctl kernel.io_uring_disabled=0
            kernel.io_uring_disabled = 0
            (base) 
            ~/repos/build-mariadb-server-10.6 
            $ mariadblocaldirect --innodb-linux-aio=auto --innodb-use-native-aio=1
            2025-04-16 16:01:16 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278569
            2025-04-16 16:01:16 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
            2025-04-16 16:01:16 0 [Note] InnoDB: Number of pools: 1
            2025-04-16 16:01:16 0 [Note] InnoDB: Using AVX512 instructions
            2025-04-16 16:01:16 0 [Note] InnoDB: Using io_uring
             
            $ mariadblocaldirect --innodb-linux-aio=io_uring --innodb-use-native-aio=1
            2025-04-16 16:01:41 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278603
            2025-04-16 16:01:41 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
            2025-04-16 16:01:41 0 [Note] InnoDB: Number of pools: 1
            2025-04-16 16:01:41 0 [Note] InnoDB: Using AVX512 instructions
            2025-04-16 16:01:41 0 [Note] InnoDB: Using io_uring
             
            $ mariadblocaldirect --innodb-linux-aio=aio --innodb-use-native-aio=1
            2025-04-16 16:02:00 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278645
            2025-04-16 16:02:00 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
            2025-04-16 16:02:00 0 [Note] InnoDB: Number of pools: 1
            2025-04-16 16:02:00 0 [Note] InnoDB: Using AVX512 instructions
            2025-04-16 16:02:00 0 [Note] InnoDB: Using Linux native AIO
            

            danblack Daniel Black added a comment - With updated PR: $ sudo sysctl kernel.io_uring_disabled=2 kernel.io_uring_disabled = 2   $ mariadblocaldirect --innodb-linux-aio=aio --innodb-use-native-aio=1 2025-04-16 15:59:03 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278330 2025-04-16 15:59:03 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng 2025-04-16 15:59:03 0 [Note] InnoDB: Number of pools: 1 2025-04-16 15:59:03 0 [Note] InnoDB: Using AVX512 instructions 2025-04-16 15:59:03 0 [Note] InnoDB: Using Linux native AIO   $ mariadblocaldirect --innodb-linux-aio=auto --innodb-use-native-aio=1 2025-04-16 15:59:51 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278427 2025-04-16 15:59:51 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng 2025-04-16 15:59:51 0 [Note] InnoDB: Number of pools: 1 2025-04-16 15:59:51 0 [Note] InnoDB: Using AVX512 instructions 2025-04-16 15:59:51 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). 2025-04-16 15:59:51 0 [Warning] InnoDB: io_uring failed: falling back to libaio 2025-04-16 15:59:51 0 [Note] InnoDB: Using Linux native AIO   $ mariadblocaldirect --innodb-linux-aio=io_uring --innodb-use-native-aio=1 2025-04-16 16:00:15 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278480 2025-04-16 16:00:15 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng 2025-04-16 16:00:15 0 [Note] InnoDB: Number of pools: 1 2025-04-16 16:00:15 0 [Note] InnoDB: Using AVX512 instructions 2025-04-16 16:00:15 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). 2025-04-16 16:00:15 0 [Warning] InnoDB: native AIO failed: falling back to innodb_use_native_aio=OFF   $ sudo sysctl kernel.io_uring_disabled=0 kernel.io_uring_disabled = 0 (base) ~/repos/build-mariadb-server-10.6 $ mariadblocaldirect --innodb-linux-aio=auto --innodb-use-native-aio=1 2025-04-16 16:01:16 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278569 2025-04-16 16:01:16 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng 2025-04-16 16:01:16 0 [Note] InnoDB: Number of pools: 1 2025-04-16 16:01:16 0 [Note] InnoDB: Using AVX512 instructions 2025-04-16 16:01:16 0 [Note] InnoDB: Using io_uring   $ mariadblocaldirect --innodb-linux-aio=io_uring --innodb-use-native-aio=1 2025-04-16 16:01:41 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278603 2025-04-16 16:01:41 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng 2025-04-16 16:01:41 0 [Note] InnoDB: Number of pools: 1 2025-04-16 16:01:41 0 [Note] InnoDB: Using AVX512 instructions 2025-04-16 16:01:41 0 [Note] InnoDB: Using io_uring   $ mariadblocaldirect --innodb-linux-aio=aio --innodb-use-native-aio=1 2025-04-16 16:02:00 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278645 2025-04-16 16:02:00 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng 2025-04-16 16:02:00 0 [Note] InnoDB: Number of pools: 1 2025-04-16 16:02:00 0 [Note] InnoDB: Using AVX512 instructions 2025-04-16 16:02:00 0 [Note] InnoDB: Using Linux native AIO
            marko Marko Mäkelä added a comment -

            Both danblack and wlad have contributed some changes to my draft pull request. I appreciate that.

            Because we are very close to the scheduled quarterly releases and this change will affect the build dependencies, I think that it is better to postpone this past the releases, and merge it as soon as possible after the releases, to give us more time to test. I guess that we could create a custom Docker image for third-party testing.

            marko Marko Mäkelä added a comment - Both danblack and wlad have contributed some changes to my draft pull request. I appreciate that. Because we are very close to the scheduled quarterly releases and this change will affect the build dependencies, I think that it is better to postpone this past the releases, and merge it as soon as possible after the releases, to give us more time to test. I guess that we could create a custom Docker image for third-party testing.
            danblack Daniel Black added a comment - - edited

            Folks wanting to test this:

            On https://ci.mariadb.org/ there is a bunch of repo/source repository definition for multiple OS/arches with the name bb-10.6-MDEV-36234-pkgtest-latest-*. Install these like any other repo.

            note 1: if missing galera-4 as a dependency, lso take the repo/sources file from https://ci.mariadb.org/galera/ named mariadb-4.x-latest-gal*

            update container available:

            quay.io/mariadb-foundation/mariadb-devel:10.6-mdev-36234-pkgtest

            So currently its libaio only because ubuntu's 20.04 base used for 10.6 containers don't have liburing as a package.

            As such, preparing 10.11 now where the same as above will apply except for 10.11
            branch: bb-10.11-MDEV-36234-pkgtest

            danblack Daniel Black added a comment - - edited Folks wanting to test this: On https://ci.mariadb.org/ there is a bunch of repo/source repository definition for multiple OS/arches with the name bb-10.6- MDEV-36234 -pkgtest-latest-*. Install these like any other repo. note 1: if missing galera-4 as a dependency, lso take the repo/sources file from https://ci.mariadb.org/galera/ named mariadb-4.x-latest-gal* update container available: quay.io/mariadb-foundation/mariadb-devel:10.6-mdev-36234-pkgtest So currently its libaio only because ubuntu's 20.04 base used for 10.6 containers don't have liburing as a package. As such, preparing 10.11 now where the same as above will apply except for 10.11 branch: bb-10.11- MDEV-36234 -pkgtest

            People

              marko Marko Mäkelä
              marcelr Marcel de Rooy
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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