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

Rst_RedoTrafficControl Class Reference

Inheritance diagram for Rst_RedoTrafficControl:


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
 pointer to next jobentry, which has to be redone
 List of jobs per IOSequence (sorted by IOSequence).
 Array of transactions. All Tranactions of one IOSequence are linked.
 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.


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