Kevin Lewis wrote:
> Good work here.
> Shouldn't this comment read;
> - // Flush record data, if any, and force the creation of a new
> serial log window
> + // Flush record data, if any, and force the creation of a new
> serial log record
Actually, both are true, but your suggestion is clearer.
> What you have here is a fix for chilling records that avoids the problem
> of flushing a zero length record by not doing it. But if a zero length
> serial log record is flushed anywhere else, will the reading of it
> become one byte off and cause an assert? In that case, there are
> probably other related bugs.
Yes. Now that record chill/thaw works, we still have a problem with
index chill/thaw. This assert in SRLUpdateIndexes::thaw() fails:
ASSERT(type == srlUpdateIndex)
It happens reliably with the falcon_chill_thaw stress test, with or
without concurrent record chill/thaw. I'd like to talk about it soon...
> Christopher Powers wrote:
>> Can you have a look at this commit:
>> http://lists.mysql.com/commits/58261 ?
>> The falcon_chill_thaw stress test now completes on Xeno when it has
>> never done so before. I've pushed the fix to falcon-chris to see how
>> it does on Pushbuild2.
>> SerialLog::flush() bears a bit more scrutiny, and should be reviewed
>> to see how it handles zero-byte flushes.