Class MultiFileWriter
- java.lang.Object
-
- org.elasticsearch.indices.recovery.MultiFileWriter
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,Releasable
public class MultiFileWriter extends java.lang.Object implements Releasable
-
-
Constructor Summary
Constructors Constructor Description MultiFileWriter(Store store, RecoveryState.Index indexState, java.lang.String tempFilePrefix, org.apache.logging.log4j.Logger logger, java.lang.Runnable ensureOpen)
-
Method Summary
Modifier and Type Method Description void
close()
org.apache.lucene.store.IndexOutput
getOpenIndexOutput(java.lang.String key)
org.apache.lucene.store.IndexOutput
openAndPutIndexOutput(java.lang.String fileName, StoreFileMetaData metaData, Store store)
Creates anIndexOutput
for the given file name.org.apache.lucene.store.IndexOutput
removeOpenIndexOutputs(java.lang.String name)
remove andIndexOutput
for a given file.void
renameAllTempFiles()
renames all temporary files to their true name, potentially overriding existing filesvoid
writeFileChunk(StoreFileMetaData fileMetaData, long position, BytesReference content, boolean lastChunk)
-
-
-
Constructor Detail
-
MultiFileWriter
public MultiFileWriter(Store store, RecoveryState.Index indexState, java.lang.String tempFilePrefix, org.apache.logging.log4j.Logger logger, java.lang.Runnable ensureOpen)
-
-
Method Detail
-
writeFileChunk
public void writeFileChunk(StoreFileMetaData fileMetaData, long position, BytesReference content, boolean lastChunk) throws java.io.IOException
- Throws:
java.io.IOException
-
getOpenIndexOutput
public org.apache.lucene.store.IndexOutput getOpenIndexOutput(java.lang.String key)
-
removeOpenIndexOutputs
public org.apache.lucene.store.IndexOutput removeOpenIndexOutputs(java.lang.String name)
remove andIndexOutput
for a given file. It is the caller's responsibility to close it
-
openAndPutIndexOutput
public org.apache.lucene.store.IndexOutput openAndPutIndexOutput(java.lang.String fileName, StoreFileMetaData metaData, Store store) throws java.io.IOException
Creates anIndexOutput
for the given file name. Note that the IndexOutput actually point at a temporary file.Note: You can use
getOpenIndexOutput(String)
with the same filename to retrieve the same IndexOutput at a later stage- Throws:
java.io.IOException
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfaceReleasable
-
renameAllTempFiles
public void renameAllTempFiles() throws java.io.IOException
renames all temporary files to their true name, potentially overriding existing files- Throws:
java.io.IOException
-
-