class InMemoryCommitOwner extends AbstractBatchBackfillingCommitOwnerClient
- Alphabetic
- By Inheritance
- InMemoryCommitOwner
- AbstractBatchBackfillingCommitOwnerClient
- Logging
- CommitOwnerClient
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new InMemoryCommitOwner(batchSize: Long)
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 backfill(logStore: LogStore, hadoopConf: Configuration, logPath: Path, version: Long, fileStatus: FileStatus): Unit
Backfills a given
fileStatustoversion.jsonBackfills a given
fileStatustoversion.json- Attributes
- protected
- Definition Classes
- AbstractBatchBackfillingCommitOwnerClient
- def backfillToVersion(logStore: LogStore, hadoopConf: Configuration, logPath: Path, managedCommitTableConf: Map[String, String], startVersion: Long = 0, endVersionOpt: Option[Long] = None): 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
- AbstractBatchBackfillingCommitOwnerClient → CommitOwnerClient
- val batchSize: Long
Size of batch that should be backfilled.
Size of batch that should be backfilled. So every commit version which satisfies
commitVersion % batchSize == 0will trigger a backfill.- Definition Classes
- InMemoryCommitOwner → AbstractBatchBackfillingCommitOwnerClient
- 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
- AbstractBatchBackfillingCommitOwnerClient → CommitOwnerClient
- 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])
- def generateUUID(): String
- Attributes
- protected
- Definition Classes
- AbstractBatchBackfillingCommitOwnerClient
- 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
- InMemoryCommitOwner → CommitOwnerClient
- def getTablePath(logPath: Path): Path
- Attributes
- protected
- Definition Classes
- AbstractBatchBackfillingCommitOwnerClient
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def log: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logName: String
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- 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 registerBackfill(logPath: Path, backfilledVersion: Long): Unit
Callback to tell the CommitOwner that all commits <=
backfilledVersionare backfilled.Callback to tell the CommitOwner that all commits <=
backfilledVersionare backfilled.- Attributes
- protected[delta]
- Definition Classes
- InMemoryCommitOwner → AbstractBatchBackfillingCommitOwnerClient
- 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
- InMemoryCommitOwner → CommitOwnerClient
- def semanticEquals(other: CommitOwnerClient): Boolean
Determines whether this CommitOwnerClient is semantically equal to another CommitOwnerClient.
Determines whether this CommitOwnerClient is semantically equal to another CommitOwnerClient.
Semantic equality is determined by each CommitOwnerClient implementation based on whether the two instances can be used interchangeably when invoking any of the CommitOwnerClient APIs, such as
commit,getCommits, etc. For e.g., both the instances might be pointing to the same underlying endpoint.- Definition Classes
- InMemoryCommitOwner → 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()
- def writeCommitFile(logStore: LogStore, hadoopConf: Configuration, logPath: Path, commitVersion: Long, actions: Iterator[String]): FileStatus
- Attributes
- protected
- Definition Classes
- AbstractBatchBackfillingCommitOwnerClient