Logo Search packages:      
Sourcecode: maxdb-7.5.00 version File versions

Rst_RedoTrafficControl Class Reference

Inheritance diagram for Rst_RedoTrafficControl:

Rst_IRedoTrafficControl

List of all members.


Detailed Description

lists to synchronize the parallel redo (singleton)

Definition at line 477 of file Rst_RedoTrafficControl.cpp.


Public Member Functions

void AllocateContainer (bool &IsOk)
 allocates the I/O sequence container and the job container
virtual bool CheckIoSeq (tsp00_TaskId RedoTaskId, tgg00_WaitContext &WaitContext, Log_IOSequenceNo IoSeq)
 a redo task checks if preceding transactions are closed
virtual void EnableRedoProcessing (tsp00_TaskId LogReaderTaskId)
 The log reader calls this after recreation of all open transactions from last savepoint.
virtual void ExecuteJobs (tgg00_TransContext &TransContext)
 executes vacant jobs. This method is provided for redo tasks.
virtual Log_IOSequenceNo GetLastIOSequence (tsp00_TaskId taskid) const
 This returns the youngest iosequence inserted to the redo list.
SAPDBMem_IRawAllocatorGetRawAllocatorUsed ()
 returns the allocator used to allocate this singleton
virtual void InsertJob (tsp00_TaskId LogReaderTaskId, tgg00_TransIndex TransIndex, Log_IOSequenceNo EndOfTransIoSeq, Log_ActionType UndoOrRedo, Log_IOSequenceNo oldestKnownEOTSequence, bool checkAscendingSequence, Log_Transaction &Transaction, bool &IsOk)
 inserts a job. This method is provided for the log reader task.
virtual void SetEndOfLogRead (tsp00_TaskId LogReaderTaskId)
 the log reader task sets the state: end of log read
virtual void WaitForAllRedoTasks (tsp00_TaskId RedoTaskId)
 This is used to wait until the whole list is empty.
virtual void WaitForIoSeq (tsp00_TaskId RedoTaskId)
 a redo task waits until preceding transactions are closed
virtual void WriteToTrace (const char *title=0) const
 writes some basic information into the trace
 ~Rst_RedoTrafficControl ()
 deallocation of containers

Static Public Member Functions

static void AllocateInstance (SAPDBMem_IRawAllocator &RawAllocator, volatile bool &redoIsAborted, SAPDB_UInt &inserted, SAPDB_UInt &removed, bool &IsOk)
 allocates the Rst_RedoTrafficControl singleton with its containers und supply
static Rst_IRedoTrafficControlInstance ()
 returns the reference to the global instance of the singleton
static Rst_RedoTrafficControlInstancePtr ()
 returns the pointer to the global instance of the singleton
static void InvalidateInstancePtr ()

Static Protected Attributes

static Rst_IRedoTrafficControlm_pInstance = NULL
 singleton of the traffic-control-instance

Private Member Functions

void CheckJobEntry (tsp00_TaskId taskid, tgg00_TransIndex index, Log_IOSequenceNo iosequence, const tgg91_TransNo &transno)
 checks the joblist
Rst_IoSeqEntryGetAndRemoveFromFreeIoSeqList ()
 returns an IoSeqEntry which is removed from the free list
Rst_JobEntryGetJobEntry (tgg00_TransIndex TransIndex)
 returns the pointer to the job entry specified by its TransIndex
void PutIntoFreeIoSeqList (Rst_IoSeqEntry *pFreeEntry)
 puts an IoSeqEntry into the free list
void RemoveJob (tsp00_TaskId RedoTaskId, Rst_JobEntry *pJobEntry)
 a redo task removes a job and resumes waiting tasks if possible
 Rst_RedoTrafficControl (SAPDBMem_IRawAllocator &RawAllocator, volatile bool &redoIsAborted, SAPDB_UInt &inserted, SAPDB_UInt &removed)
 private ctor only used once during initialization

Private Attributes

bool m_EndOfLog
 flag which indicates the end of the Redo
SAPDB_UInt & m_inserted
 number of jobs inserted
Rst_IoSeqList m_IoSeqFreeList
 list of free RedoTransactions
Rst_IoSeqList m_IoSeqList
 list of RedoTransactions sorted by the EndOfTrans-IOSequence
SAPDB_UInt m_NumberOfTransEntries
 maximum number of concurrent running transactions
Log_IOSequenceNo m_OldestKnownEOTSequence
Rst_JobEntrym_pFirstVacancy
 pointer to next jobentry, which has to be redone
Rst_IoSeqEntrym_pIoSeqContainer
 List of jobs per IOSequence (sorted by IOSequence).
Rst_JobEntrym_pJobContainer
 Array of transactions. All Tranactions of one IOSequence are linked.
SAPDBMem_IRawAllocatorm_RawAllocator
 used for dynamic allocating memory
volatile bool & m_redoIsAborted
 global flag, which inicates, whether the Redo had been aborted
bool m_RedoProcessingDisabled
 this flag prevents the redo tasks to start before all transactions are restored from savepoint
SAPDB_UInt & m_removed
 number of jobs removed
tsp00_TaskId m_TaskWaitingForEmptyList
 redo reader task waiting in CloseOpenTrans
Kernel_TaskWaitList m_VacantJobWait
 List of idle ReDo-Tasks.

Classes

class  Rst_RedoSync
 class to get exclusive access to the redo lists More...

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

Generated by  Doxygen 1.6.0   Back to index