Bug #71817 Warnings text is somewhat misleading (mentions max_open_files and table_cache)
Submitted: 24 Feb 2014 15:05 Modified: 26 Feb 2014 10:58
Reporter: Valeriy Kravchuk Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: Errors Severity:S3 (Non-critical)
Version:5.6.16 OS:Any
Assigned to: CPU Architecture:Any
Tags: max_open_files, table_cache

[24 Feb 2014 15:05] Valeriy Kravchuk
You've probably noted warnings like these:

2014-02-24 16:32:09 13734 [Warning] Buffered warning: Changed limits: max_open_f
iles: 1024 (requested 5010)

2014-02-24 16:32:09 13734 [Warning] Buffered warning: Changed limits: max_connec
tions: 214 (requested 1000)

2014-02-24 16:32:09 13734 [Warning] Buffered warning: Changed limits: table_cach
e: 400 (requested 2000)

that server outputs when ulimit -n setting is too low and it tries to "autosize" open_files_limit and other related variables accordingly.

The problem is that along with real server variable, max_connections, these warnings mention non-existing ones that nobody actually set or can set in 5.6, max_open_files (probably open_files_limit is meant) and table_cache (probably table_o0pen_cache is meant).

This may cause confusion for users, when they try to change values to get rid of these warnings.

How to repeat:
Make sure that ulimit -n outputs 1024 and then try to start server with all defaults, but max_connections=1000, like this:

bin/mysqld_safe --no-defaults --max_connections=1000 &

Note that max_connections is actually set to 214 only and then check error log trying to find out what's going on.

Suggested fix:
Output names of real server variable auto-adjusted based on low umilit -n setting.

Optionally, add warning with a hit about the reason (low ulimit -n setting).
[26 Feb 2014 10:58] MySQL Verification Team
Hello Valeriy,

Thank you for the bug report!