Package org.apache.lucene.index
Class DocumentsWriterFlushQueue
- java.lang.Object
-
- org.apache.lucene.index.DocumentsWriterFlushQueue
-
final class DocumentsWriterFlushQueue extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classDocumentsWriterFlushQueue.FlushTicket
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.locks.ReentrantLockpurgeLockprivate java.util.Queue<DocumentsWriterFlushQueue.FlushTicket>queueprivate java.util.concurrent.atomic.AtomicIntegerticketCount
-
Constructor Summary
Constructors Constructor Description DocumentsWriterFlushQueue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleanaddDeletes(DocumentsWriterDeleteQueue deleteQueue)(package private) DocumentsWriterFlushQueue.FlushTicketaddFlushTicket(DocumentsWriterPerThread dwpt)(package private) voidaddSegment(DocumentsWriterFlushQueue.FlushTicket ticket, DocumentsWriterPerThread.FlushedSegment segment)private voiddecTickets()(package private) voidforcePurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer)(package private) intgetTicketCount()(package private) booleanhasTickets()private voidincTickets()private voidinnerPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer)(package private) voidmarkTicketFailed(DocumentsWriterFlushQueue.FlushTicket ticket)(package private) voidtryPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer)
-
-
-
Field Detail
-
queue
private final java.util.Queue<DocumentsWriterFlushQueue.FlushTicket> queue
-
ticketCount
private final java.util.concurrent.atomic.AtomicInteger ticketCount
-
purgeLock
private final java.util.concurrent.locks.ReentrantLock purgeLock
-
-
Method Detail
-
addDeletes
boolean addDeletes(DocumentsWriterDeleteQueue deleteQueue) throws java.io.IOException
- Throws:
java.io.IOException
-
incTickets
private void incTickets()
-
decTickets
private void decTickets()
-
addFlushTicket
DocumentsWriterFlushQueue.FlushTicket addFlushTicket(DocumentsWriterPerThread dwpt) throws java.io.IOException
- Throws:
java.io.IOException
-
addSegment
void addSegment(DocumentsWriterFlushQueue.FlushTicket ticket, DocumentsWriterPerThread.FlushedSegment segment)
-
markTicketFailed
void markTicketFailed(DocumentsWriterFlushQueue.FlushTicket ticket)
-
hasTickets
boolean hasTickets()
-
innerPurge
private void innerPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
- Throws:
java.io.IOException
-
forcePurge
void forcePurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
- Throws:
java.io.IOException
-
tryPurge
void tryPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
- Throws:
java.io.IOException
-
getTicketCount
int getTicketCount()
-
-