package managedcommit
- Alphabetic
- Public
- All
Type Members
-
trait
AbstractBatchBackfillingCommitOwnerClient extends CommitOwnerClient with Logging
An abstract CommitOwnerClient which triggers backfills every n commits.
An abstract CommitOwnerClient which triggers backfills every n commits. - every commit version which satisfies
commitVersion % batchSize == 0will trigger a backfill. -
case class
Commit(version: Long, fileStatus: FileStatus, commitTimestamp: Long) extends Product with Serializable
Representation of a commit file
-
case class
CommitFailedException(retryable: Boolean, conflict: Boolean, message: String) extends Exception with Product with Serializable
Exception raised by CommitOwnerClient.commit method.
Exception raised by CommitOwnerClient.commit method. | retryable | conflict | meaning | | no | no | something bad happened (e.g. auth failure) | | no | yes | permanent transaction conflict (e.g. multi-table commit failed) | | yes | no | transient error (e.g. network hiccup) | | yes | yes | physical conflict (allowed to rebase and retry) |
-
trait
CommitOwnerBuilder extends AnyRef
A builder interface for CommitOwnerClient
-
trait
CommitOwnerClient extends AnyRef
CommitOwnerClient is responsible for managing commits for a managed-commit delta table.
CommitOwnerClient is responsible for managing commits for a managed-commit delta table. 1. It provides API to commit a new version of the table. See CommitOwnerClient.commit API. 2. It makes sure that commits are backfilled if/when needed 3. It also tracks and returns unbackfilled commits. See CommitOwnerClient.getCommits API.
-
case class
CommitResponse(commit: Commit) extends Product with Serializable
Response container for CommitOwnerClient.commit API
-
case class
GetCommitsResponse(commits: Seq[Commit], latestTableVersion: Long) extends Product with Serializable
Response container for CommitOwnerClient.getCommits API
- class InMemoryCommitOwner extends AbstractBatchBackfillingCommitOwnerClient
-
case class
InMemoryCommitOwnerBuilder(batchSize: Long) extends CommitOwnerBuilder with Product with Serializable
The InMemoryCommitOwnerBuilder class is responsible for creating singleton instances of InMemoryCommitOwner with the specified batchSize.
-
case class
TableCommitOwnerClient(commitOwnerClient: CommitOwnerClient, logPath: Path, tableConf: Map[String, String], hadoopConf: Configuration, logStore: LogStore) extends Product with Serializable
A wrapper around CommitOwnerClient that provides a more user-friendly API for committing / accessing commits to a specific table.
A wrapper around CommitOwnerClient that provides a more user-friendly API for committing / accessing commits to a specific table. This class takes care of passing the table specific configuration to the underlying CommitOwnerClient e.g. logPath / logStore / managedCommitTableConf / hadoopConf.
- commitOwnerClient
the underlying CommitOwnerClient
- logPath
the path to the log directory
- tableConf
the table specific managed-commit configuration
- hadoopConf
hadoop configuration
- logStore
the log store
-
case class
UpdatedActions(commitInfo: CommitInfo, newMetadata: Metadata, newProtocol: Protocol, oldMetadata: Metadata, oldProtocol: Protocol) extends Product with Serializable
A container class to inform the CommitOwnerClient about any changes in Protocol/Metadata
Value Members
- object CommitOwner
- object CommitOwnerClient
-
object
CommitOwnerProvider
Factory to get the correct CommitOwnerClient for a table
- object ManagedCommitUtils
- object TableCommitOwnerClient extends Serializable