C# Class Raven.Database.Indexing.AbstractIndexingExecuter

Exibir arquivo 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_oe static_oe property

protected static ILog Log
return ILog

autoTuner protected_oe property

protected BaseBatchSizeAutoTuner autoTuner
return BaseBatchSizeAutoTuner

context protected_oe property

protected WorkContext context
return WorkContext

lastFlushedWorkCounter protected_oe property

protected int lastFlushedWorkCounter
return int

scheduler protected_oe property

protected TaskScheduler scheduler
return TaskScheduler

transactionalStorage protected_oe property

protected ITransactionalStorage transactionalStorage
return ITransactionalStorage

workCounter protected_oe property

protected int workCounter
return int