Package org.apache.lucene.index
Class SegmentInfos.FindSegmentsFile<T>
- java.lang.Object
-
- org.apache.lucene.index.SegmentInfos.FindSegmentsFile<T>
-
- Enclosing class:
- SegmentInfos
public abstract static class SegmentInfos.FindSegmentsFile<T> extends Object
Utility class for executing code that needs to do something with the current segments file. This is necessary with lock-less commits because from the time you locate the current segments file name, until you actually open it, read its contents, or check modified time, etc., it could have been deleted due to a writer commit finishing.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FindSegmentsFile(Directory directory)
Sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract T
doBody(String segmentFileName)
Subclass must implement this.T
run()
Locate the most recentsegments
file and rundoBody(java.lang.String)
on it.T
run(IndexCommit commit)
RundoBody(java.lang.String)
on the provided commit.
-
-
-
Constructor Detail
-
FindSegmentsFile
protected FindSegmentsFile(Directory directory)
Sole constructor.
-
-
Method Detail
-
run
public T run() throws IOException
Locate the most recentsegments
file and rundoBody(java.lang.String)
on it.- Throws:
IOException
-
run
public T run(IndexCommit commit) throws IOException
RundoBody(java.lang.String)
on the provided commit.- Throws:
IOException
-
doBody
protected abstract T doBody(String segmentFileName) throws IOException
Subclass must implement this. The assumption is an IOException will be thrown if something goes wrong during the processing that could have been caused by a writer committing.- Throws:
IOException
-
-