Bug #33474 falcon_lock_timeout is different from innodb_wait_lock_timeout
Submitted: 21 Dec 2007 23:02 Modified: 2 May 2008 23:23
Reporter: Kevin Lewis Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0 OS:Any
Assigned to: Kevin Lewis CPU Architecture:Any
Tags: timeout

[21 Dec 2007 23:02] Kevin Lewis
Description:
falcon_lock_timeout is different from innodb_wait_lock_timeout in some unnecessary ways;

1. The name is missing 'wait'.  This can be easily changed.
2. innodb_wait_lock_timeout is in seconds. falcon_lock_timeout is in milleeconds.  This will catch unsuspecting users and cause extra 'duplicate key' and 'record updated' errors if the falcon value is set to the innodb value.  The Falcon lock timeout should be in seconds as well.

Other differences like the default value and the requirement of a non-zero value are engine specific and justifiable.  Innodb defaults to 50 and does not allow zero.  Falcon defaults to zero which means no limit on how long a lock will wait.

How to repeat:
SHOW VARIABLES LIKE 'FALCON_LOCK_TIMEOUT';
SHOW VARIABLES LIKE 'INNODB_WAIT_LOCK_TIMEOUT';

Suggested fix:
Rename FALCON_LOCK_TIMEOUT to FALCON_WAIT_LOCK_TIMEOUT.
Change2. FALCON_LOCK_TIMEOUT to register number of seconds.
[22 Dec 2007 20:34] MySQL Verification Team
Thank you for the bug report.
[27 Dec 2007 5:28] Kevin Lewis
falcon_lock_timeout is replaced by falcon_lock_wait_timeout 
which is now in seconds, not milliseconds
This makes the setting more similar to innodb_lock_wait_timeout.
Also, since the name has changed, existing scripts will not be 
left inadvertently referring to milliseconds instead of seconds.  
All engine starting scripts will have to change.
It is important to make this change before Beta.

In addition, Bug#33072 requires that the default value of zero
(no timeout) be changed to 50 seconds.
[11 Feb 2008 20:42] Kevin Lewis
Patch is in mysql-6.0-falcon-team and mysql-6.0-release version 6.0.4
[12 Mar 2008 23:02] Bugs System
Pushed into 6.0.4-alpha
[2 May 2008 23:23] Paul DuBois
Noted in 6.0.4 changelog.

The falcon_lock_timeout system variable, which had a value in
milliseconds, has been replaced with falcon_lock_wait_timeout, which
has a value in seconds. The default value of falcon_lock_wait_timeout
is 50 seconds. This has been done for better name and unit 
consistency with the innodb_lock_wait_timeout system variable. Uses
of the old variable should be converted to use the new variable.