C# 클래스 Lucene.Net.Index.DocumentsWriterStallControl

Controls the health status of a DocumentsWriter sessions. this class used to block incoming indexing threads if flushing significantly slower than indexing to ensure the DocumentsWriters healthiness. If flushing is significantly slower than indexing the net memory used within an IndexWriter session can increase very quickly and easily exceed the JVM's available memory.

To prevent OOM Errors and ensure IndexWriter's stability this class blocks incoming threads from indexing once 2 x number of available ThreadStates in DocumentsWriterPerThreadPool is exceeded. Once flushing catches up and the number of flushing DWPT is equal or lower than the number of active ThreadStates threads are released and can continue indexing.

파일 보기 프로젝트 열기: paulirwin/lucene.net 1 사용 예제들

공개 메소드들

메소드 설명
AnyStalledThreads ( ) : bool
HasBlocked ( ) : bool
IsThreadQueued ( Lucene.Net.Support.ThreadClass t ) : bool
UpdateStalled ( bool stalled ) : void

Update the stalled flag status. this method will set the stalled flag to true iff the number of flushing DocumentsWriterPerThread is greater than the number of active DocumentsWriterPerThread. Otherwise it will reset the DocumentsWriterStallControl to healthy and release all threads waiting on #waitIfStalled()

WaitIfStalled ( ) : void

Blocks if documents writing is currently in a stalled state.

WasStalled ( ) : bool

비공개 메소드들

메소드 설명
DecrWaiters ( ) : bool
IncWaiters ( ) : bool

메소드 상세

AnyStalledThreads() 공개 메소드

public AnyStalledThreads ( ) : bool
리턴 bool

HasBlocked() 공개 메소드

public HasBlocked ( ) : bool
리턴 bool

IsThreadQueued() 공개 메소드

public IsThreadQueued ( Lucene.Net.Support.ThreadClass t ) : bool
t Lucene.Net.Support.ThreadClass
리턴 bool

UpdateStalled() 공개 메소드

Update the stalled flag status. this method will set the stalled flag to true iff the number of flushing DocumentsWriterPerThread is greater than the number of active DocumentsWriterPerThread. Otherwise it will reset the DocumentsWriterStallControl to healthy and release all threads waiting on #waitIfStalled()
public UpdateStalled ( bool stalled ) : void
stalled bool
리턴 void

WaitIfStalled() 공개 메소드

Blocks if documents writing is currently in a stalled state.
public WaitIfStalled ( ) : void
리턴 void

WasStalled() 공개 메소드

public WasStalled ( ) : bool
리턴 bool