C# Class Raven.Database.Indexing.AbstractIndexingExecuter

Show file Open project: robashton/ravendb

Protected Properties

Property Type Description
Log ILog
autoTuner BaseBatchSizeAutoTuner
context WorkContext
lastFlushedWorkCounter int
scheduler TaskScheduler
transactionalStorage ITransactionalStorage
workCounter int

Public Methods

Method Description
Execute ( ) : void

Protected Methods

Method Description
AbstractIndexingExecuter ( WorkContext context ) : System
CalculateSynchronizationEtag ( Etag currentEtag, Etag lastProcessedEtag ) : Etag
Dispose ( ) : void
ExecuteIndexing ( bool isIdle, bool &onlyFoundIdleWork ) : bool
ExecuteIndexingWork ( IList indexesToWorkOn, Etag startEtag ) : void
FlushAllIndexes ( ) : void
GetApplicableTask ( IStorageActionsAccessor actions ) : Raven.Database.Tasks.Task
GetIndexToWorkOn ( Raven.Abstractions.Data.IndexStats indexesStat ) : IndexToWorkOn
GetSynchronizationEtag ( ) : Etag
Init ( ) : void
IsIndexStale ( Raven.Abstractions.Data.IndexStats indexesStat, Etag synchronizationEtag, IStorageActionsAccessor actions, bool isIdle, Reference onlyFoundIdleWork ) : bool
IsValidIndex ( Raven.Abstractions.Data.IndexStats indexesStat ) : bool

Private Methods

Method Description
ExecuteTasks ( ) : bool
FlushIndexes ( ) : void
HandleOutOfMemoryException ( Exception oome ) : void
IsEsentOutOfMemory ( Exception actual ) : bool
ScheduleRelevantDocumentsForReindexIfNeeded ( ) : void

Method Details

AbstractIndexingExecuter() protected method

protected AbstractIndexingExecuter ( WorkContext context ) : System
context WorkContext
return System

CalculateSynchronizationEtag() protected abstract method

protected abstract CalculateSynchronizationEtag ( Etag currentEtag, Etag lastProcessedEtag ) : Etag
currentEtag Raven.Abstractions.Util.Etag
lastProcessedEtag Raven.Abstractions.Util.Etag
return Raven.Abstractions.Util.Etag

Dispose() protected method

protected Dispose ( ) : void
return void

Execute() public method

public Execute ( ) : void
return void

ExecuteIndexing() protected method

protected ExecuteIndexing ( bool isIdle, bool &onlyFoundIdleWork ) : bool
isIdle bool
onlyFoundIdleWork bool
return bool

ExecuteIndexingWork() protected abstract method

protected abstract ExecuteIndexingWork ( IList indexesToWorkOn, Etag startEtag ) : void
indexesToWorkOn IList
startEtag Raven.Abstractions.Util.Etag
return void

FlushAllIndexes() protected abstract method

protected abstract FlushAllIndexes ( ) : void
return void

GetApplicableTask() protected abstract method

protected abstract GetApplicableTask ( IStorageActionsAccessor actions ) : Raven.Database.Tasks.Task
actions IStorageActionsAccessor
return Raven.Database.Tasks.Task

GetIndexToWorkOn() protected abstract method

protected abstract GetIndexToWorkOn ( Raven.Abstractions.Data.IndexStats indexesStat ) : IndexToWorkOn
indexesStat Raven.Abstractions.Data.IndexStats
return IndexToWorkOn

GetSynchronizationEtag() protected abstract method

protected abstract GetSynchronizationEtag ( ) : Etag
return Raven.Abstractions.Util.Etag

Init() protected method

protected Init ( ) : void
return void

IsIndexStale() protected abstract method

protected abstract IsIndexStale ( Raven.Abstractions.Data.IndexStats indexesStat, Etag synchronizationEtag, IStorageActionsAccessor actions, bool isIdle, Reference onlyFoundIdleWork ) : bool
indexesStat Raven.Abstractions.Data.IndexStats
synchronizationEtag Raven.Abstractions.Util.Etag
actions IStorageActionsAccessor
isIdle bool
onlyFoundIdleWork Reference
return bool

IsValidIndex() protected abstract method

protected abstract IsValidIndex ( Raven.Abstractions.Data.IndexStats indexesStat ) : bool
indexesStat Raven.Abstractions.Data.IndexStats
return bool

Property Details

Log protected static property

protected static ILog Log
return ILog

autoTuner protected property

protected BaseBatchSizeAutoTuner autoTuner
return BaseBatchSizeAutoTuner

context protected property

protected WorkContext context
return WorkContext

lastFlushedWorkCounter protected property

protected int lastFlushedWorkCounter
return int

scheduler protected property

protected TaskScheduler scheduler
return TaskScheduler

transactionalStorage protected property

protected ITransactionalStorage transactionalStorage
return ITransactionalStorage

workCounter protected property

protected int workCounter
return int