MariaDB / mariadb-docker

Docker Official Image packaging for MariaDB
https://mariadb.org
GNU General Public License v2.0
770 stars 438 forks source link

O_TMPFILE is not supported #292

Closed amon-ra closed 3 years ago

amon-ra commented 4 years ago

I have tryed to set tmpdir to a volume, a tmpfs, a normal dir inside container, but this notice is always present:

[Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)

Has anyone have any idea if it could be solved? (I think it is a docker issue) I suspect it has a big perfomance impact when create temporary tables. Thanks in advice

tianon commented 4 years ago

I tried making /tmp a tmpfs and a direct ext4 mount (via a volume), and neither worked -- I'm not sure what's necessary to make this check pass (nor what the real-world impact to MariaDB is, although I imagine it's not very heavy since O_TMPFILE merely creates an "unnamed" file, and isn't inherently faster -- it only makes it easier to clean up since all you have to do is close the file and it'll go away).

grooverdan commented 4 years ago

Linux tmpfs doesn't support O_TMPFILE as an option.

The message in the logs is notice only. The alternate implementations aren't significantly slower, especially for the minimal amount of tmpfile based activity that should be on a running MariaDB instance.

The message can only be fixed in linux kernel developers support O_TMPFILE for tmpfs filesystems.

Mariadb could hide/rewrite the message, but I don't think that helps anyone. Suggestions welcome.

grooverdan commented 3 years ago

no better log messages suggested. Closing.