List:Falcon Storage Engine« Previous MessageNext Message »
From:Ann W. Harrison Date:October 15 2008 5:45pm
Subject:Hypothetical on failing to thaw chilled record
View as plain text  
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






Thread
Hypothetical on failing to thaw chilled recordAnn W. Harrison15 Oct
  • Re: Hypothetical on failing to thaw chilled recordAnn W. Harrison15 Oct
  • Re: Hypothetical on failing to thaw chilled recordChristopher Powers17 Oct