Bug #111314 Incorrect explanation about variable max_binlog_cache_size in reference manual
Submitted: 7 Jun 2023 8:38 Modified: 8 Jun 2023 21:42
Reporter: karry zhang (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:MySQL8.0 OS:Any
Assigned to: Jon Stephens CPU Architecture:Any

[7 Jun 2023 8:38] karry zhang
Description:
The explanation of parameter max_binlog_cache_size in the user manual is as follows:

If a transaction requires more than this many bytes of memory, the server generates a Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage error.

However, we know that the parameter max_binlog_cache_size actually represents the upper limit of the binlog cache, but the contents of the binlog cache will not be completely stored in memory, and the content exceeding the specified size of binlog_cache_size will be stored in a temporary file. 

This explanation of reference manual will confuse users that max_binlog_cache_size is a limit on the memory used by transactions, but it is not the case.

How to repeat:
You can see the explanation about max_binlog_cache_size in reference manual.

https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_max_bin...

Suggested fix:
I believe that the following explanation is more accurate:

If a transaction requires more than this many bytes, the server generates a Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage error.
[7 Jun 2023 9:12] MySQL Verification Team
Hello karry zhang,

Thank you for the report and feedback.

regards,
Umesh
[8 Jun 2023 21:42] Jon Stephens
Fixed in all versions of the MySQL Manual, in mysqldoc rev 75864.

The changes should be visible on the website soon.

Thanks!