class DocumentsWriterFlushQueue
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
DocumentsWriterFlushQueue.FlushTicket |
(package private) static class |
DocumentsWriterFlushQueue.GlobalDeletesTicket |
(package private) static class |
DocumentsWriterFlushQueue.SegmentFlushTicket |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.locks.ReentrantLock |
purgeLock |
private java.util.Queue<DocumentsWriterFlushQueue.FlushTicket> |
queue |
private java.util.concurrent.atomic.AtomicInteger |
ticketCount |
Constructor and Description |
---|
DocumentsWriterFlushQueue() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addDeletes(DocumentsWriterDeleteQueue deleteQueue) |
(package private) DocumentsWriterFlushQueue.SegmentFlushTicket |
addFlushTicket(DocumentsWriterPerThread dwpt) |
(package private) void |
addSegment(DocumentsWriterFlushQueue.SegmentFlushTicket ticket,
DocumentsWriterPerThread.FlushedSegment segment) |
(package private) void |
clear() |
private void |
decTickets() |
(package private) int |
forcePurge(IndexWriter writer) |
int |
getTicketCount() |
(package private) boolean |
hasTickets() |
private void |
incTickets() |
private int |
innerPurge(IndexWriter writer) |
(package private) void |
markTicketFailed(DocumentsWriterFlushQueue.SegmentFlushTicket ticket) |
(package private) int |
tryPurge(IndexWriter writer) |
private final java.util.Queue<DocumentsWriterFlushQueue.FlushTicket> queue
private final java.util.concurrent.atomic.AtomicInteger ticketCount
private final java.util.concurrent.locks.ReentrantLock purgeLock
void addDeletes(DocumentsWriterDeleteQueue deleteQueue) throws java.io.IOException
java.io.IOException
private void incTickets()
private void decTickets()
DocumentsWriterFlushQueue.SegmentFlushTicket addFlushTicket(DocumentsWriterPerThread dwpt)
void addSegment(DocumentsWriterFlushQueue.SegmentFlushTicket ticket, DocumentsWriterPerThread.FlushedSegment segment)
void markTicketFailed(DocumentsWriterFlushQueue.SegmentFlushTicket ticket)
boolean hasTickets()
private int innerPurge(IndexWriter writer) throws java.io.IOException
java.io.IOException
int forcePurge(IndexWriter writer) throws java.io.IOException
java.io.IOException
int tryPurge(IndexWriter writer) throws java.io.IOException
java.io.IOException
public int getTicketCount()
void clear()