From: Ann W. Harrison Date: October 15 2008 5:45pm Subject: Hypothetical on failing to thaw chilled record List-Archive: http://lists.mysql.com/falcon/32 Message-Id: <48F62C49.9070709@mysql.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=ISO-8859-1 Content-Transfer-Encoding: 7BIT Here's the timeline ... all transactions on separate connections and concurrent except as noted. Assume table t1 (f1 integer) with an index on f1. T1: insert into table1 values 3; T1: commit; T2: start; T3: start; T3: update t1 set f1 = 5 where f1 = 3; (at this point the index on f1 has entries for values 3 and 5, both with record 1. There's a record version object with the new and old versions in the record cache. The old index entry has been processed, and there's a new index entry in T3's deferred index) System chills T3 changes - new version of record 1 is chilled, old version is left in memory as back version. T3: commit; T2: commit; T4: select * from table1 where f1 > 1 and f1 < 4; (index bitmap built, with hit for 3); System removes obsolete version of record 1 (f1 = 3), from cache and disk, and index. Index lookup find a hit for 3 on record 1. T3 becomes write complete, T4 has a dependency on T3 Thaw fails to find record with that value Fetch fails to find record with that value