MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Dblqh::LogPartRecord Struct Reference

#include <Dblqh.hpp>

Collaboration diagram for Dblqh::LogPartRecord:

Classes

struct  OperationQueue

Public Types

enum  LogPartState {
  IDLE = 0, ACTIVE = 1, SR_FIRST_PHASE = 2, SR_FIRST_PHASE_COMPLETED = 3,
  SR_THIRD_PHASE_STARTED = 4, SR_THIRD_PHASE_COMPLETED = 5, SR_FOURTH_PHASE_STARTED = 6, SR_FOURTH_PHASE_COMPLETED = 7
}
enum  WaitWriteGciLog { WWGL_TRUE = 0, WWGL_FALSE = 1 }
enum  LogExecState {
  LES_IDLE = 0, LES_SEARCH_STOP = 1, LES_SEARCH_START = 2, LES_EXEC_LOG = 3,
  LES_EXEC_LOG_NEW_MBYTE = 4, LES_EXEC_LOG_NEW_FILE = 5, LES_EXEC_LOGREC_FROM_FILE = 6, LES_EXEC_LOG_COMPLETED = 7,
  LES_WAIT_READ_EXEC_SR_NEW_MBYTE = 8, LES_WAIT_READ_EXEC_SR = 9, LES_EXEC_LOG_INVALIDATE = 10
}
enum  { P_TAIL_PROBLEM = 0x1, P_REDO_IO_PROBLEM = 0x2, P_FILE_CHANGE_PROBLEM = 0x4 }

Public Attributes

UintR LogLqhKeyReqSent
UintR currentLogfile
UintR execSrExecLogFile
UintR execSrLogPage
UintR execSrLfoRec
UintR execSrStartPageNo
UintR execSrStopPageNo
UintR firstLogfile
UintR firstLogTcrec
UintR firstPageRef
UintR gcprec
UintR lastPageRef
struct OperationQueue m_log_prepare_queue
struct OperationQueue m_log_complete_queue
UintR lastLogTcrec
UintR lastLogfile
LogExecState logExecState
UintR logLap
UintR logLastGci
UintR logStartGci
UintR logPartNewestCompletedGCI
LogPartState logPartState
Uint32 m_log_problems
UintR logPartTimer
UintR logTimer
UintR logTailFileNo
UintR logTcConrec
UintR mmBufferSize
UintR noLogFiles
UintR prevLogpage
UintR srRemainingFiles
UintR startLogfile
UintR stopLogfile
WaitWriteGciLog waitWriteGciLog
Uint16 execSrLogPageIndex
Uint16 execSrExecuteIndex
Uint16 execSrPagesExecuted
Uint16 execSrPagesRead
Uint16 execSrPagesReading
Uint16 headFileNo
Uint16 headPageNo
Uint16 headPageIndex
Uint16 lastMbyte
Uint16 prevFilepage
Uint16 savePageIndex
Uint16 logTailMbyte
Uint16 startMbyte
Uint16 stopMbyte
Uint16 invalidateFileNo
Uint16 invalidatePageNo
Uint16 logPartNo
struct IOTracker m_io_tracker

Detailed Description

This record describes the current state of a log. A log consists of a number of log files. These log files are described by the log file record.

There will be 4 sets of log files. Different tables will use different log files dependent on the table id. This ensures that more than one outstanding request can be sent to the file system. The log file to use is found by performing a very simple hash function.

Definition at line 1103 of file Dblqh.hpp.

Member Enumeration Documentation

anonymous enum

does current log-part have tail-problem (i.e 410)

Definition at line 1262 of file Dblqh.hpp.

Enumerator:
IDLE 

Nothing happens at the moment.

ACTIVE 

An operation is active logging.

SR_FIRST_PHASE 

Finding the end of the log and the information about global checkpoints in the log is ongoing.

SR_FIRST_PHASE_COMPLETED 

First phase completed.

SR_THIRD_PHASE_STARTED 

Executing fragment log is in 3rd ph.

SR_FOURTH_PHASE_STARTED 

Finding the log tail and head is the fourth phase.

Definition at line 1104 of file Dblqh.hpp.

Member Data Documentation

UintR Dblqh::LogPartRecord::currentLogfile

Contains the current log file where log records are written. During system restart it is used to indicate the last log file.

Definition at line 1147 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::execSrExecLogFile

The log file used to execute log records from far behind.

Definition at line 1151 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::execSrExecuteIndex

Which of the four exec_sr's in the fragment is currently executing

Definition at line 1341 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::execSrLfoRec

This variable keeps track of the lfo record where the pages that were read from disk when an operations log record were not found in the main memory buffer for log pages.

Definition at line 1164 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::execSrLogPage

The currently executing prepare record starts in this log page. This variable is used to enable that a log record is executed multiple times in execution of the log.

Definition at line 1157 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::execSrLogPageIndex

The currently executing prepare record starts in this index in the log page.

Definition at line 1337 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::execSrPagesExecuted

The number of pages executed in the current mbyte.

Definition at line 1345 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::execSrPagesRead

The number of pages read from disk that have arrived and are currently awaiting execution of the log.

Definition at line 1350 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::execSrPagesReading

The number of pages read from disk and currently not arrived to the block.

Definition at line 1355 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::execSrStartPageNo

The starting page number when reading log from far behind.

Definition at line 1168 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::execSrStopPageNo

The last page number when reading log from far behind.

Definition at line 1172 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::firstLogfile

Contains a reference to the first log file, file number 0.

Definition at line 1176 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::firstLogTcrec

This variable contains the oldest operation in this log part which have not been committed yet.

Definition at line 1181 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::firstPageRef

The first reference to a set of 8 pages. These are used during execution of the log to keep track of which pages are in memory and which are not.

Definition at line 1187 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::gcprec

This variable contains the global checkpoint record waiting for disk writes to complete.

Definition at line 1192 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::headFileNo

This variable refers to the new header file where we will start writing the log after a system restart have been completed.

Definition at line 1360 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::headPageIndex

This variable refers to the index within the new header page.

Definition at line 1369 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::headPageNo

This variable refers to the page number within the header file.

Definition at line 1364 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::invalidateFileNo

This variable refers to the file where invalidation is occuring during system/node restart.

Definition at line 1409 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::invalidatePageNo

This variable refers to the page where invalidation is occuring during system/node restart.

Definition at line 1414 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::lastLogfile

This variable indicates which was the last mbyte that was written before the system crashed. Discovered during system restart.

Definition at line 1228 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::lastLogTcrec

This variable contains the newest operation in this log part which have not been committed yet.

Definition at line 1222 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::lastMbyte

This variables indicates which was the last mbyte in the last logfile before a system crash. Discovered during system restart.

Definition at line 1374 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::lastPageRef

The last reference to a set of 8 pages. These are used during execution of the log to keep track of which pages are in memory and which are not.

Definition at line 1198 of file Dblqh.hpp.

LogExecState Dblqh::LogPartRecord::logExecState

This variable is used to keep track of the state during the third phase of the system restart, i.e. when LogPartRecord::logPartState == LogPartRecord::SR_THIRD_PHASE_STARTED.

Definition at line 1235 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::logLap

This variable contains the lap number of this log part.

Definition at line 1239 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::logLastGci

This variable contains the place to stop executing the log in this phase.

Definition at line 1244 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::LogLqhKeyReqSent

Is a CONTINUEB(ZLOG_LQHKEYREQ) signal sent and outstanding. We do not want several instances of this signal out in the air since that would create multiple writers of the list.

Definition at line 1141 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::logPartNewestCompletedGCI

The latest GCI completed in this log part.

Definition at line 1253 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::logPartNo

For MT LQH the log part (0-3).

Definition at line 1418 of file Dblqh.hpp.

LogPartState Dblqh::LogPartRecord::logPartState

The current state of this log part.

Definition at line 1257 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::logPartTimer

A timer that is set every time a log page is sent to disk. Ensures that log pages are not kept in main memory for more than a certain time.

Definition at line 1274 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::logStartGci

This variable contains the place to start executing the log in this phase.

Definition at line 1249 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::logTailFileNo

Contains the number of the log tail file and the mbyte reference within that file. This information ensures that the tail is not overwritten when writing new log records.

Definition at line 1285 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::logTcConrec

The TcConnectionrec used during execution of this log part.

Definition at line 1289 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::logTimer

The current timer which is set by the periodic signal received by LQH

Definition at line 1279 of file Dblqh.hpp.

struct IOTracker Dblqh::LogPartRecord::m_io_tracker

IO tracker...

Definition at line 1423 of file Dblqh.hpp.

struct OperationQueue Dblqh::LogPartRecord::m_log_complete_queue

operations queued waiting on REDO to commit/abort

Definition at line 1216 of file Dblqh.hpp.

struct OperationQueue Dblqh::LogPartRecord::m_log_prepare_queue

operations queued waiting on REDO to prepare

Definition at line 1211 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::mmBufferSize

The number of pages that currently resides in the main memory buffer. It does not refer pages that are currently read from the log files. Only to pages already read from the log file.

Definition at line 1296 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::noLogFiles

Contains the current number of log files in this log part.

Definition at line 1300 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::prevFilepage

This variable is used only during execution of a log record. It keeps track of in which file page a log record was started. It is used if it is needed to write a dirty page to disk during log execution (this happens when commit records are invalidated).

Definition at line 1382 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::prevLogpage

This variable is used only during execution of a log record. It keeps track of in which page record a log record was started. It is used then to deduce which pages that are dirty after that the log records on the page have been executed.

It is also used to find out where to write the invalidate command when that is needed.

Definition at line 1311 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::savePageIndex

This is used to save where we were in the execution of log records when we find a commit record that needs to be executed.

This variable is also used to remember the index where the log type was in the log record. It is only used in this role when finding a commit record that needs to be invalidated.

Definition at line 1393 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::srRemainingFiles

The number of files remaining to gather GCI information for during system restart. Only used if number of files is larger than 60.

Definition at line 1317 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::startLogfile

The log file where to start executing the log during system restart.

Definition at line 1322 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::startMbyte

The mbyte within the starting log file where to start executing the log.

Definition at line 1399 of file Dblqh.hpp.

UintR Dblqh::LogPartRecord::stopLogfile

The last log file in which to execute the log during system restart.

Definition at line 1327 of file Dblqh.hpp.

Uint16 Dblqh::LogPartRecord::stopMbyte

The last mbyte in which to execute the log during system restart.

Definition at line 1404 of file Dblqh.hpp.

WaitWriteGciLog Dblqh::LogPartRecord::waitWriteGciLog

This variable keeps track of when we want to write a complete gci log record but have been blocked by an ongoing log operation.

Definition at line 1332 of file Dblqh.hpp.


The documentation for this struct was generated from the following file: