Bug #37077 Unable to set global system variable innodb_lock_wait_timeout.
Submitted: 29 May 2008 20:37 Modified: 2 Jun 2008 14:40
Reporter: Bob Hansen Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S2 (Serious)
Version:5.1.11 OS:Windows (XP Pro SP2)
Assigned to: CPU Architecture:Any
Tags: set innodb_lock_wait_timeout unknown system variable

[29 May 2008 20:37] Bob Hansen
Description:
I am logged into the MySQL Query Browser as root. When i execute these statements, the following occurs.

show global variables where variable_name = 'innodb_lock_wait_timeout';
I retrieve 1 row with headings (Variable_name,Value) and values (innodb_lock_wait_timeout, 1).

select @@global.innodb_lock_wait_timeout;
Error: Unknown system variable 'innodb_lock_wait_timeout'.

set global innodb_lock_wait_timeout='5';
Error: Unknown system variable 'innodb_lock_wait_timeout'.

When I execute those statements via a C-coded ODBC framework call chain, which works fine for hundreds of other executions, it gives the same errors as listed above. Must be a MySQL Server issue.

When I login to the MySQL Administrator it shows (under Startup Variables> InnoDB Parameters> Various) Lock Wait Timeout is checked and set with value 1.

How to repeat:
(I have not personally tried THESE steps but in theory should also give the same error condition)

Install MySQL Server 5.1.11.
Install MySQL Administrator 1.2.12.
Install MySQL Query Browser 1.2.12.

Login to Administrator as root and set Lock Wait Timeout to 1.
Create a database.
Login to Query Browser, connect to database.
Execute: show global variables where variable_name = 'innodb_lock_wait_timeout';
Execute: set global innodb_lock_wait_timeout='5';

Then scratch your head and go 'wtf?'.

Suggested fix:
The timeout value works as 1 second, I believe it is stored correctly. I'm guessing something in the server isn't allowing it to be changed or accessed correctly. If you have any suggestions for me to try let me know. Thanks.
[30 May 2008 14:46] MySQL Verification Team
Thank you for the bug report. Duplicate of bug: http://bugs.mysql.com/bug.php?id=36285
[2 Jun 2008 14:40] Bob Hansen
The prior bug you noted (Bug #36285) they cannot change innodb_lock_wait_timeout per session. Is there any way to change the value globally? I need my application to be able to reset it for all users on all future sessions. That would be the equivalent as setting the global value using the MySQL Administrator. Thanks.