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 class
DocumentsWriterFlushQueue.FlushTicket
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.locks.ReentrantLock
purgeLock
private java.util.Queue<DocumentsWriterFlushQueue.FlushTicket>
queue
private java.util.concurrent.atomic.AtomicInteger
ticketCount
-
Constructor Summary
Constructors Constructor Description DocumentsWriterFlushQueue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
addDeletes(DocumentsWriterDeleteQueue deleteQueue)
(package private) DocumentsWriterFlushQueue.FlushTicket
addFlushTicket(DocumentsWriterPerThread dwpt)
(package private) void
addSegment(DocumentsWriterFlushQueue.FlushTicket ticket, DocumentsWriterPerThread.FlushedSegment segment)
private void
decTickets()
(package private) void
forcePurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer)
(package private) int
getTicketCount()
(package private) boolean
hasTickets()
private void
incTickets()
private void
innerPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer)
(package private) void
markTicketFailed(DocumentsWriterFlushQueue.FlushTicket ticket)
(package private) void
tryPurge(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()
-
-