Class 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 an IndexOutput for the given file name.
      org.apache.lucene.store.IndexOutput removeOpenIndexOutputs​(java.lang.String name)
      remove and IndexOutput for a given file.
      void renameAllTempFiles()
      renames all temporary files to their true name, potentially overriding existing files
      void writeFileChunk​(StoreFileMetaData fileMetaData, long position, BytesReference content, boolean lastChunk)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 and IndexOutput 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 an IndexOutput 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 interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface Releasable
      • renameAllTempFiles

        public void renameAllTempFiles()
                                throws java.io.IOException
        renames all temporary files to their true name, potentially overriding existing files
        Throws:
        java.io.IOException