Package org.apache.lucene.replicator.nrt
Class PrimaryNode
- java.lang.Object
-
- org.apache.lucene.replicator.nrt.Node
-
- org.apache.lucene.replicator.nrt.PrimaryNode
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public abstract class PrimaryNode extends Node
Node that holds an IndexWriter, indexing documents into its local index.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected longprimaryGenprotected IndexWriterwriter-
Fields inherited from class org.apache.lucene.replicator.nrt.Node
dir, globalStartNS, id, lastFileMetaData, localStartNS, mgr, PRIMARY_GEN_KEY, printStream, searcherFactory, VERBOSE_CONNECTIONS, VERBOSE_FILES, VERSION_KEY
-
-
Constructor Summary
Constructors Constructor Description PrimaryNode(IndexWriter writer, int id, long primaryGen, long forcePrimaryVersion, SearcherFactory searcherFactory, PrintStream printStream)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()voidcommit()booleanflushAndRefresh()Flush all index operations to disk and opens a new near-real-time reader.CopyStategetCopyState()IncRef the current CopyState and return itlonggetCopyStateVersion()longgetLastCommitVersion()longgetPrimaryGen()Returns the current primary generation, which is incremented each time a new primary is started for this indexintgetRemoteCloseTimeoutMs()booleanisClosed()protected abstract voidpreCopyMergedSegmentFiles(SegmentCommitInfo info, Map<String,FileMetaData> files)Called when a merge has finished, but before IW switches to the merged segmentvoidreleaseCopyState(CopyState copyState)Called once replica is done (or failed) copying an NRT pointvoidsetRemoteCloseTimeoutMs(int remoteCloseTimeoutMs)Set the number of milliseconds to wait during shutdown for remote replicas to close.-
Methods inherited from class org.apache.lucene.replicator.nrt.Node
bytesToString, getCurrentSearchingVersion, getDirectory, getSearcherManager, message, name, nodeMessage, nodeMessage, readLocalFileMetaData, toString
-
-
-
-
Field Detail
-
writer
protected final IndexWriter writer
-
primaryGen
protected final long primaryGen
-
-
Constructor Detail
-
PrimaryNode
public PrimaryNode(IndexWriter writer, int id, long primaryGen, long forcePrimaryVersion, SearcherFactory searcherFactory, PrintStream printStream) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getPrimaryGen
public long getPrimaryGen()
Returns the current primary generation, which is incremented each time a new primary is started for this index
-
flushAndRefresh
public boolean flushAndRefresh() throws IOExceptionFlush all index operations to disk and opens a new near-real-time reader. new NRT point, to make the changes visible to searching. Returns true if there were changes.- Throws:
IOException
-
getCopyStateVersion
public long getCopyStateVersion()
-
getLastCommitVersion
public long getLastCommitVersion()
-
getRemoteCloseTimeoutMs
public int getRemoteCloseTimeoutMs()
- Returns:
- the number of milliseconds to wait during shutdown for remote replicas to close
-
setRemoteCloseTimeoutMs
public void setRemoteCloseTimeoutMs(int remoteCloseTimeoutMs)
Set the number of milliseconds to wait during shutdown for remote replicas to close.-1(the default) means forever, and0means don't wait at all.
-
commit
public void commit() throws IOException- Specified by:
commitin classNode- Throws:
IOException
-
getCopyState
public CopyState getCopyState() throws IOException
IncRef the current CopyState and return it- Throws:
IOException
-
releaseCopyState
public void releaseCopyState(CopyState copyState) throws IOException
Called once replica is done (or failed) copying an NRT point- Throws:
IOException
-
close
public void close() throws IOException- Throws:
IOException
-
preCopyMergedSegmentFiles
protected abstract void preCopyMergedSegmentFiles(SegmentCommitInfo info, Map<String,FileMetaData> files) throws IOException
Called when a merge has finished, but before IW switches to the merged segment- Throws:
IOException
-
-