From: Jim Starkey Date: October 25 2008 4:13pm Subject: Re: Unthawable List-Archive: http://lists.mysql.com/falcon/105 Message-Id: <4903459F.8070201@nimbusdb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Kevin Lewis wrote: > My opinion is that we aught to find a way to thaw any record in the > record cache before it becomes unthawable if it needs to be viewed. > > In other words, any record that is visible to any transaction should > be thawable or already thawed. > > > Maybe it can be thawed from the serial log still. Maybe, but there is > no guarantee that the serial log has not been switched after 150 went > write complete. We need to find an appropriate time to thaw these > records before the page get written over by a deleted or updated record. > Why not just guarantee that if a transaction is a) visible (has dependencies) and b) has chilled records, it is retained in the serial log inactive transaction list, which will prevent the serial log from being overwritten. There is some bookkeeping to be done in SerialLogTransaction, another test in SerialLog::pageCacheFlushed, and some tricky stuff for a Transaction to tell the SerialLogTransaction that he's gone boring, but should be no big deal and won't cost anything in performance, and won't have any effect at all unless records are actually chilled.