mirror of
https://github.com/MariaDB/server.git
synced 2025-08-30 11:22:14 +03:00
Applying InnoDB snapshot
Detailed revision comments: r6467 | inaam | 2010-01-14 20:46:00 +0200 (Thu, 14 Jan 2010) | 10 lines branches/zip rb://226 log_sys->written_to_all_lsn does not accurately represent the LSN upto which write and flush has taken place. Under a race condition it can fall behind log_sys->flushed_to_disk_lsn which is accurate. Besides written_to_all_lsn is redundant as currently InnoDB supports only one log group. Approved by: Heikki
This commit is contained in:
@@ -825,7 +825,17 @@ struct log_struct{
|
|||||||
written to some log group; for this to
|
written to some log group; for this to
|
||||||
be advanced, it is enough that the
|
be advanced, it is enough that the
|
||||||
write i/o has been completed for all
|
write i/o has been completed for all
|
||||||
log groups */
|
log groups.
|
||||||
|
Note that since InnoDB currently
|
||||||
|
has only one log group therefore
|
||||||
|
this value is redundant. Also it
|
||||||
|
is possible that this value
|
||||||
|
falls behind the
|
||||||
|
flushed_to_disk_lsn transiently.
|
||||||
|
It is appropriate to use either
|
||||||
|
flushed_to_disk_lsn or
|
||||||
|
write_lsn which are always
|
||||||
|
up-to-date and accurate. */
|
||||||
ib_uint64_t write_lsn; /*!< end lsn for the current running
|
ib_uint64_t write_lsn; /*!< end lsn for the current running
|
||||||
write */
|
write */
|
||||||
ulint write_end_offset;/*!< the data in buffer has
|
ulint write_end_offset;/*!< the data in buffer has
|
||||||
|
@@ -2013,7 +2013,7 @@ log_checkpoint(
|
|||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
ut_ad(log_sys->written_to_all_lsn >= oldest_lsn);
|
ut_ad(log_sys->flushed_to_disk_lsn >= oldest_lsn);
|
||||||
|
|
||||||
if (log_sys->n_pending_checkpoint_writes > 0) {
|
if (log_sys->n_pending_checkpoint_writes > 0) {
|
||||||
/* A checkpoint write is running */
|
/* A checkpoint write is running */
|
||||||
|
Reference in New Issue
Block a user