[MDEV-29100] mysqldump: unknown variable 'max-statement-time' when included via --defaults-file or --defaults-extra-file Created: 2022-07-14  Updated: 2022-07-24  Resolved: 2022-07-24

Status: Closed
Project: MariaDB Server
Component/s: Scripts & Clients
Affects Version/s: 10.8.3
Fix Version/s: N/A

Type: Bug Priority: Minor
Reporter: Andrew Ryan Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MDEV-18702 mysqldump should use max_statement_ti... Closed

 Description   

mariadb-dump --help includes:

The following groups are read: mysqldump mariadb-dump client client-server client-mariadb
The following specify which files/extra groups are read (specified before remaining options):
--defaults-file=#         Only read default options from the given file #.
--defaults-extra-file=#   Read this file after the global files are read.

The documentation for max_statement_time indicates it can be set dynamically for a session.

However attempts to set this variable in any of the listed groups result in 'unknown variable' error:

eg

root@ubuntu-server~# cat custom.cnf
 
[mysqldump]
max_statement_time = 0
 
root@ubuntu-server~# mysqldump --defaults-extra-file=custom.cnf my_database >/dev/null
mysqldump: unknown variable 'max_execution_time=0'

Where the client and server are hosted on different servers and the user lacks SUPER, I'm not aware of any workaround available.



 Comments   
Comment by Daniel Black [ 2022-07-14 ]

Andrew Ryan, do you want to add the code to set this unconditionally, like mariabackup in MDEV-18702, somewhere about: https://github.com/MariaDB/server/blob/10.10/client/mysqldump.c line 2045.

I'm happy to take this as a bug fix to 10.3 (and then merge to later branches).

Comment by Andrew Ryan [ 2022-07-14 ]

Thanks Daniel.

While setting this unconditionally to 0 would suit our scenarios, I wonder whether that may impact/surprise users who rely on the current behaviour and whether it would be inconsistent with the documentation. Eg if a non-0 value configured in my.cnf suddenly became ineffective for mysqldump that seems like a significant behavioural change.

If possible, I think it would be safer if the value in the extra file was applied. Given this config currently generates an error, a change to this behaviour shouldn't cause any surprise/break for any user/application.

Comment by Daniel Black [ 2022-07-14 ]

I can't think of a case where user's expect partial mariadb-dump contents. What is more likely surprise them in their current state with an incomplete restore. It hasn't surprised mariabackup users enough to create a bug.

If I was going for a config option, it would be for a generic init_sql to account for other changes, potentially even reverting a default session max_statement_time=0.

Comment by Andrew Ryan [ 2022-07-14 ]

Good point (I just realised we now have to check backups across several hundred servers).

Yes, either setting this variable unconditionally or adding a config option would be great.

Thanks again.

Generated at Thu Feb 08 10:05:54 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.