Bug #39083 Falcon chill thresholds for indexes and records should be > 1
Submitted: 28 Aug 2008 0:39 Modified: 9 Apr 2009 14:58
Reporter: Kevin Lewis Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.7 OS:Any
Assigned to: Christopher Powers CPU Architecture:Any
Tags: F_CHILL THAW

[28 Aug 2008 0:39] Kevin Lewis
Description:
The minimum allowable value for falcon_index_chill_threshold and falcon_record_chill_threshold is 1.  The Falcon team agreed at our July meeting in Boston that this value should be higher.  We aggreed on 32k since that is the size of the largest page.  But since then, Chris and Phillip have used values much smaller for testing purposes.  Even 32k is only useful for testing.  So Chris has suggested a value small enough to chill every record.

How to repeat:
mysql> SET GLOBAL falcon_index_chill_threshold = 1;

mysql> SELECT @@GLOBAL.falcon_index_chill_threshold;
+---------------------------------------+
| @@GLOBAL.falcon_index_chill_threshold |
+---------------------------------------+
|                                     1 |
+---------------------------------------+
1 row in set (0.00 sec)

Suggested fix:
Chris Powers is currently using these nonsense values for chilling in order to catch bugs.  If he determines that there is a good reason to make a minimum value greater than some value, then this can be changed.  Otherwise, we should mark this 'not a bug'.  In this case, the value of 1 will mean to chill every chance you get.
[28 Aug 2008 0:58] Kevin Lewis
Verified in code.  Severity is D2 since this may be an unavoidable source of some crashes. There are several other bugs associated with extremely small chill values. (Bug#38566, Bug#38567, Bug#38569, Bug#38541) If it turns out that there is a very practical reason to raise this minimum value, then this bug will be valid.  But if all crashes can be avoided, and a chill value of 1 can be supported for both index and record, then this can be closed.
[9 Apr 2009 14:58] Kevin Lewis
After all this time, we have not had problems specifically with the mechanism of chilling as often as possible.  So falcon_record_chill_threshold=1 is a fine way to make that happen.  And it has continued to allow us to find bugs.  So we will leave this value ridiculously low so that our tests can continue to assure that chilling often in a highly concurrent environment works.