Description

Warning logs are observed in MariaDB after upgrading from release 10.1 to release 10.2.

Symptoms

The following are seen in file mysql-error-running.log:

2021-02-26 1:46:22 47894449886976 [Warning] Aborted connection 216669 to db: 'nfvodb' user: 'master' host: 'x.x.x.x' (Got timeout reading communication packets)
2021-02-26 0:46:19 47898975540992 [Warning] Aborted connection 216242 to db: 'nfvodb' user: 'master' host: 'x.x.x.x' (Got timeout reading communication packets)
2021-02-26 0:46:22 47905486018304 [Warning] Aborted connection 216246 to db: 'nedb' user: 'master' host: 'x.x.x.x' (Got timeout reading communication packets)
2021-02-26 0:46:22 47906479949568 [Warning] Aborted connection 216244 to db: 'nfvodb' user: 'master' host: 'x.x.x.x' (Got timeout reading communication packets)

Solution

These logs may occur because of one of these reasons:

  • The client connected successfully but terminated improperly (and may relate to not closing the connection properly)
  • The client slept for longer than the defined wait_timeout or interactive_timeout seconds (which ends up causing the connection to sleep for wait_timeout seconds and then the connection gets forcibly closed by the MySQL server)
  • The client terminated abnormally or exceeded the max_allowed_packet for queries.

The reason behind these logs are visible after upgrading MariaDB from 10.1 to 10.2. The warning default value in 10.1 is 1 which is changed to default for warning as 2 in 10.2. The 'Aborted connection' log is part of log warning 2 which is why it is printed when default value is changed upon upgrade.

Changed default value for log_warnings

Option
Old default value
New default value
lock_wait_timeout
31536000
86400
log_slow_admin_statements
OFF
ON
log_slow_slave_statements
OFF
ON
log_warnings
1
2
 

Classification for level 1 and 2 log_warnings

log_warnings

  • Description:  Determines which additional warnings are logged. Setting to  0  disables additional warning logging. Note that this does not prevent all warnings, there is a core set of warnings that will always be written to the error log. The additional warnings are as follows:
    • log_warnings >= 1
      • Event scheduler information.
      • System signals
      • Wrong usage of  --user
      • Failed setrlimit() and mlockall()
      • Changed limits
      • Wrong values of lower_case_table_names and stack_size
      • Wrong values for command line options
      • Start log position and some master information when starting slaves
      • Slave reconnects
      • Killed slaves
      • Error reading relay logs
      • Unsafe statements for statement-based replication. If this warning occurs frequently, it is throttled to prevent flooding the log.
      • Disabled plugins that one tried to enable or use.
      • UDF files that didn't include the required init functions.
      • DNS lookup failures.
    • log_warnings >= 2
      • Access denied errors.
      • Connections aborted or closed due to errors or timeouts.
      • Table handler errors
      • Messages related to the files used to persist replication state:
        • Either the default  master.info  file or the file that is configured by the  master_info_file  option.
        • Either the default  relay-log.info  file or the file that is configured by the  relay_log_info_file  system variable.
      • Information about a master's binary log dump thread.

If the log is not needed in the file "mysql-error-running.log", then "log_warnings" can be changed from default to 1.