File: MDEV-37411-suppress-new-warning-about-native-aio.patch

package info (click to toggle)
mariadb 1%3A11.8.5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 774,668 kB
  • sloc: ansic: 2,415,394; cpp: 1,796,628; asm: 381,336; perl: 62,933; sh: 50,568; pascal: 40,908; java: 39,363; python: 25,814; yacc: 20,444; sql: 17,907; xml: 12,354; ruby: 8,544; cs: 6,542; makefile: 6,143; ada: 1,879; lex: 1,194; javascript: 996; objc: 80; tcl: 73; awk: 46; php: 22
file content (52 lines) | stat: -rw-r--r-- 2,424 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
From: =?utf-8?b?T3R0byBLZWvDpGzDpGluZW4=?= <otto@debian.org>
Date: Thu, 7 Aug 2025 21:30:51 -0700
Subject: Suppress native AIO warning introduced in 10.8.3

Upstream a87bb96 introduced a new warning, visible at least on all ppc64el and
s390x builds which makes the post-build mariadb-test-test fail:

    [Warning] InnoDB: native AIO failed: falling back to
    innodb_use_native_aio=OFF

The case of this is the ci environment only where there is insufficent
fs.aio-max-nr configured. A such we are adding a suppression to the
mtr only. The warning is valuable for users. Upstream MDEV-37411 has
added a io_setup as a warning, which will fail in the CI environment,
so we're pre-emptively suppressing this warning too.

Unlike upstream MariaDB, in Debian we removed libaio in for Linux on
MariaDB 10.6+ in 612630c6 and completely in 1d648d6f. This was re-added
by upstream added a system variable innodb_linux_aio to control, and
also provided automated fallback. As such we're readding it back too.

With liburing still seccomp filterer in container environments having
a libaio fallback is more valuable than the threads implementation of
last resort.

Edited & Updated: Daniel Black <daniel@mariabdb.org>

Forwarded: https://jira.mariadb.org/browse/MDEV-37411 (rejected)

Upstream rejected this with the conclusion, is that it will start working in
Debian/Salsa/Ubuntu/Launchpad once the Linux kernel is new enough to handle the
I/O calls and fallbacks properly, or once the CI system increases the value of
/proc/sys/fs/aio-max-nr to 1 million or so, to allow multiple parallel MariaDB
servers (as started by mariadb-test-run) each have enough quota for native AIO
to work.
---
 mysql-test/mariadb-test-run.pl | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mysql-test/mariadb-test-run.pl b/mysql-test/mariadb-test-run.pl
index 6739995..8d88e4d 100755
--- a/mysql-test/mariadb-test-run.pl
+++ b/mysql-test/mariadb-test-run.pl
@@ -4498,6 +4498,8 @@ sub extract_warning_lines ($$) {
      qr/error .*connecting to master/,
      qr/InnoDB: Dumping buffer pool.*/,
      qr/InnoDB: Buffer pool.*/,
+     qr/io_setup(%d) returned.*/,
+     qr/InnoDB: native AIO failed: falling back to innodb_use_native_aio=OFF/,
      qr/InnoDB: Could not free any blocks in the buffer pool!/,
      qr/InnoDB: innodb_open_files .* should not be greater than/,
      qr/InnoDB: Trying to delete tablespace.*but there are.*pending/,