Packages

trait CheckpointFileManager extends AnyRef

An interface to abstract out all operation related to streaming checkpoints. Most importantly, the key operation this interface provides is createAtomic(path, overwrite) which returns a CancellableFSDataOutputStream. This method is used by HDFSMetadataLog and StateStore implementations to write a complete checkpoint file atomically (i.e. no partial file will be visible), with or without overwrite.

This higher-level interface above the Hadoop FileSystem is necessary because different implementation of FileSystem/FileContext may have different combination of operations to provide the desired atomic guarantees (e.g. write-to-temp-file-and-rename, direct-write-and-cancel-on-failure) and this abstraction allow different implementations while keeping the usage simple (createAtomic -> close or cancel).

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CheckpointFileManager
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def createAtomic(path: Path, overwriteIfPossible: Boolean): CancellableFSDataOutputStream

    Create a file and make its contents available atomically after the output stream is closed.

    Create a file and make its contents available atomically after the output stream is closed.

    path

    Path to create

    overwriteIfPossible

    If true, then the implementations must do a best-effort attempt to overwrite the file if it already exists. It should not throw any exception if the file exists. However, if false, then the implementation must not overwrite if the file already exists and must throw FileAlreadyExistsException in that case.

  2. abstract def createCheckpointDirectory(): Path

    Creates the checkpoint path if it does not exist, and returns the qualified checkpoint path.

  3. abstract def delete(path: Path): Unit

    Recursively delete a path if it exists.

    Recursively delete a path if it exists. Should not throw exception if file doesn't exist.

  4. abstract def exists(path: Path): Boolean

    Whether path exists

  5. abstract def isLocal: Boolean

    Is the default file system this implementation is operating on the local file system.

  6. abstract def list(path: Path, filter: PathFilter): Array[FileStatus]

    List the files/directories in a path that match a filter.

  7. abstract def mkdirs(path: Path): Unit

    Make directory at the give path and all its parent directories as needed.

  8. abstract def open(path: Path): FSDataInputStream

    Open a file for reading, or throw exception if it does not exist.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def list(path: Path): Array[FileStatus]

    List all the files/directories in a path.

  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped