class FileSystemBasedCommitOwnerClient extends CommitOwnerClient
- Alphabetic
- By Inheritance
- FileSystemBasedCommitOwnerClient
- CommitOwnerClient
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def backfillToVersion(logStore: LogStore, hadoopConf: Configuration, logPath: Path, managedCommitTableConf: Map[String, String], startVersion: Long, endVersion: Option[Long]): Unit
API to ask the Commit-Owner to backfill all commits >= 'startVersion' and <=
endVersion.API to ask the Commit-Owner to backfill all commits >= 'startVersion' and <=
endVersion.If this API returns successfully, that means the backfill must have been completed, although the Commit-Owner may not be aware of it yet.
- Definition Classes
- FileSystemBasedCommitOwnerClient → CommitOwnerClient
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def commit(logStore: LogStore, hadoopConf: Configuration, logPath: Path, managedCommitTableConf: Map[String, String], commitVersion: Long, actions: Iterator[String], updatedActions: UpdatedActions): CommitResponse
API to commit the given set of
actionsto the table represented by givenlogPathat the givencommitVersion.API to commit the given set of
actionsto the table represented by givenlogPathat the givencommitVersion.- returns
CommitResponse which contains the file status of the commit file. If the commit is already backfilled, then the fileStatus could be omitted from response and the client could get the info by themselves.
- Definition Classes
- FileSystemBasedCommitOwnerClient → CommitOwnerClient
- val deltaLog: DeltaLog
- def doCommit(logStore: LogStore, hadoopConf: Configuration, logPath: Path, commitFile: Path, commitVersion: Long, actions: Iterator[String]): FileStatus
- Attributes
- protected
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getCommits(logPath: Path, managedCommitTableConf: Map[String, String], startVersion: Long, endVersion: Option[Long]): GetCommitsResponse
API to get the un-backfilled commits for the table represented by the given
logPath.API to get the un-backfilled commits for the table represented by the given
logPath. Commits older thanstartVersion, or newer thanendVersion(if given), are ignored. The returned commits are contiguous and in ascending version order. Note that the first version returned by this API may not be equal to thestartVersion. This happens when few versions starting fromstartVersionare already backfilled and so commit-owner may have stopped tracking them. The returned latestTableVersion is the maximum commit version ratified by the Commit-Owner. Note that returning latestTableVersion as -1 is acceptable only if the commit-owner never ratified any version i.e. it never accepted any un-backfilled commit.- returns
GetCommitsResponse which has a list of Commits and the latestTableVersion which is tracked by CommitOwnerClient.
- Definition Classes
- FileSystemBasedCommitOwnerClient → CommitOwnerClient
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def registerTable(logPath: Path, currentVersion: Long, currentMetadata: Metadata, currentProtocol: Protocol): Map[String, String]
API to register the table represented by the given
logPathwith the givencurrentTableVersion.API to register the table represented by the given
logPathwith the givencurrentTableVersion. This API is called when the table is being converted from filesystem table to managed-commit table. - ThecurrentTableVersionis the version of the table just before conversion. - ThecurrentTableVersion+ 1 represents the commit that will do the conversion. This must be backfilled atomically. - ThecurrentTableVersion+ 2 represents the first commit after conversion. This will go via the CommitOwnerClient and it could choose whether it wants to write unbackfilled commits and backfill them later. When a new managed-commit table is being created, thecurrentTableVersionwill be -1 and the upgrade commit needs to be a file-system commit which will write the backfilled file directly.- returns
A map of key-value pairs which is issued by the commit-owner to identify the table. This should be stored in the table's metadata. This information needs to be passed in other table specific APIs like commit / getCommits / backfillToVersion to identify the table.
- Definition Classes
- CommitOwnerClient
- def semanticEquals(other: CommitOwnerClient): Boolean
FileSystemBasedCommitOwnerClient is supposed to be treated as a singleton object for a Delta Log and is equal to all other instances of FileSystemBasedCommitOwnerClient for the same Delta Log.
FileSystemBasedCommitOwnerClient is supposed to be treated as a singleton object for a Delta Log and is equal to all other instances of FileSystemBasedCommitOwnerClient for the same Delta Log.
- Definition Classes
- FileSystemBasedCommitOwnerClient → CommitOwnerClient
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()