class RocksDB extends Logging
Class representing a RocksDB instance that checkpoints version of data to DFS.
After a set of updates, a new version can be committed by calling commit().
Any past version can be loaded by calling load(version).
- Note
This class is not thread-safe, so use it only from one thread.
- See also
RocksDBFileManager to see how the files are laid out in local disk and DFS.
- Alphabetic
- By Inheritance
- RocksDB
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
RocksDB(dfsRootDir: String, conf: RocksDBConf, localRootDir: File = Utils.createTempDir(), hadoopConf: Configuration = new Configuration, loggingId: String = "")
- dfsRootDir
Remote directory where checkpoints are going to be written
- conf
Configuration for RocksDB
- localRootDir
Root directory in local disk that is used to working and checkpointing dirs
- hadoopConf
Hadoop configuration for talking to the remote file system
- loggingId
Id that will be prepended in logs for isolating concurrent RocksDBs
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 cleanup(): Unit
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
close(): Unit
Release all resources
-
def
commit(): Long
Commit all the updates made as a version to DFS.
Commit all the updates made as a version to DFS. The steps it needs to do to commits are: - Write all the updates to the native RocksDB - Flush all changes to disk - Create a RocksDB checkpoint in a new local dir - Sync the checkpoint dir files to DFS
- val conf: RocksDBConf
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
get(key: Array[Byte]): Array[Byte]
Get the value for the given key if present, or null.
Get the value for the given key if present, or null.
- Note
This will return the last written value even if it was uncommitted.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getLatestVersion(): Long
Get the latest version available in the DFS
-
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
iterator(): Iterator[ByteArrayPair]
Get an iterator of all committed and uncommitted key-value pairs.
-
def
load(version: Long): RocksDB
Load the given version of data in a native RocksDB instance.
Load the given version of data in a native RocksDB instance. Note that this will copy all the necessary file from DFS to local disk as needed, and possibly restart the native RocksDB instance.
-
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
- RocksDB → 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
-
def
metrics: RocksDBMetrics
Get current instantaneous statistics
-
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 prefixScan(prefix: Array[Byte]): Iterator[ByteArrayPair]
-
def
put(key: Array[Byte], value: Array[Byte]): Array[Byte]
Put the given value for the given key and return the last written value.
Put the given value for the given key and return the last written value.
- Note
This update is not committed to disk until commit() is called.
-
def
remove(key: Array[Byte]): Array[Byte]
Remove the key if present, and return the previous value if it was present (null otherwise).
Remove the key if present, and return the previous value if it was present (null otherwise).
- Note
This update is not committed to disk until commit() is called.
-
def
rollback(): Unit
Drop uncommitted changes, and roll back to previous version.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
timeTakenMs(body: ⇒ Unit): Long
Records the duration of running
bodyfor the next query progress update.Records the duration of running
bodyfor the next query progress update.- Attributes
- protected
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()