Bug #91511 List of mysqld command line options which are undocumented
Submitted: 30 Jun 2018 21:08 Modified: 25 Jul 2018 15:34
Reporter: Geert Vanderkelen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:8.0 OS:Any
Assigned to: CPU Architecture:Any

[30 Jun 2018 21:08] Geert Vanderkelen
Description:
Don't ask me why I got this list: it just came out because of another thingy :) But I hope this list will help completing missing things in the docs.

Here is list of command line options from `mysqld --help --verbose` which do not have any reference in the documentation:

archive
blackhole
innodb-log-checkpoint-every
innodb-log-closer-spin-delay
innodb-log-closer-timeout
innodb-log-flush-events
innodb-log-flush-notifier-spin-delay
innodb-log-flush-notifier-timeout
innodb-log-flusher-spin-delay
innodb-log-flusher-timeout
innodb-log-recent-closed-size
innodb-log-recent-written-size
innodb-log-wait-for-flush-spin-delay
innodb-log-wait-for-flush-timeout
innodb-log-wait-for-write-spin-delay
innodb-log-wait-for-write-timeout
innodb-log-write-events
innodb-log-write-max-size
innodb-log-write-notifier-spin-delay
innodb-log-write-notifier-timeout
innodb-log-writer-spin-delay
innodb-log-writer-timeout
mysqlx-cache-cleaner
ngram
session-track-transaction-info

How to repeat:
If you put the list from Description into a file called `undoced.txt`, you can execute a simple curl-command, and retrieve whether it is documented.

* checking whether the option is in section 5.1 (0 means no match)
* put the `super_read_only` as a false positive
* ngram says 1, but that's because other options are documented `--ngram` is not.

$ for l in `cat undoced.txt`; do echo -n "${l} "; curl --silent "https://dev.mysql.com/doc/search/?d=&p=1&q=${l}" | grep -c ":: 5.1"; done
archive 0
blackhole 0
innodb-log-checkpoint-every 0
innodb-log-closer-spin-delay 0
innodb-log-closer-timeout 0
innodb-log-flush-events 0
innodb-log-flush-notifier-spin-delay 0
innodb-log-flush-notifier-timeout 0
innodb-log-flusher-spin-delay 0
innodb-log-flusher-timeout 0
super_read_only 1
innodb-log-recent-closed-size 0
innodb-log-recent-written-size 0
innodb-log-wait-for-flush-spin-delay 0
innodb-log-wait-for-flush-timeout 0
innodb-log-wait-for-write-spin-delay 0
innodb-log-wait-for-write-timeout 0
innodb-log-write-events 0
innodb-log-write-max-size 0
innodb-log-write-notifier-spin-delay 0
innodb-log-write-notifier-timeout 0
innodb-log-writer-spin-delay 0
innodb-log-writer-timeout 0
mysqlx-cache-cleaner 0
ngram 1
session-track-transaction-info 0

Suggested fix:
If these options are in the `mysqld --help --verbose`, they would need to be in the list of options, cmd-line, status vars, and system variables. Or maybe they are not used any longer (I have not tested that), and should be removed (deprecated?) where needed.
[30 Jun 2018 21:47] MySQL Verification Team
Thank you for the bug report.
[25 Jul 2018 15:34] Daniel Price
Posted by developer:
 
The InnoDB variables are experimental, enabled by the -DENABLE_EXPERIMENTAL_SYSVARS build option. Because the variables are experimental, they may be removed at any time. They will not be documented in the MySQL Reference Manual until they become standard. Please see:
https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html#option_cmake_ena...

The following are are plugin names that may be specified in an option file or on the command line to control the activation state.
 
archive
blackhole
mysqlx-cache-cleaner
ngram

Please see:
https://dev.mysql.com/doc/refman/8.0/en/server-plugin-loading.html#server-plugin-activatin...

super_read_only is documented. Please see:
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_super_read_onl...

session-track-transaction-info (duplicate request)
Documentation is already requested in another bug report. Please see:
https://bugs.mysql.com/bug.php?id=83414

Thank you for the bug report.