object RocksDBMemoryManager extends Logging with UnmanagedMemoryConsumer
Singleton responsible for managing cache and write buffer manager associated with all RocksDB state store instances running on a single executor if boundedMemoryUsage is enabled for RocksDB. If boundedMemoryUsage is disabled, a new cache object is returned. This also implements UnmanagedMemoryConsumer to report RocksDB memory usage to Spark's UnifiedMemoryManager, allowing Spark to account for RocksDB memory when making memory allocation decisions.
- Alphabetic
- By Inheritance
- RocksDBMemoryManager
- UnmanagedMemoryConsumer
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class LogStringContext extends AnyRef
- Definition Classes
- Logging
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
- def MDC(key: LogKey, value: Any): MDC
- Attributes
- protected
- Definition Classes
- Logging
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def getInstanceMemoryUsage(uniqueId: String, totalMemoryUsage: Long): Long
Get the memory usage for a specific instance, accounting for bounded memory sharing.
Get the memory usage for a specific instance, accounting for bounded memory sharing.
- uniqueId
The instance's unique identifier
- totalMemoryUsage
The total memory usage of this instance
- returns
The adjusted memory usage accounting for sharing in bounded memory mode
- def getInstancePinnedBlocksMemUsage(uniqueId: String, totalPinnedUsage: Long): Long
Get the pinned blocks memory usage for a specific instance, accounting for bounded memory sharing.
Get the pinned blocks memory usage for a specific instance, accounting for bounded memory sharing.
- uniqueId
The instance's unique identifier
- totalPinnedUsage
The total pinned usage from the cache
- returns
The adjusted pinned blocks memory usage accounting for sharing in bounded memory mode
- def getMemBytesUsed: Long
- Definition Classes
- RocksDBMemoryManager → UnmanagedMemoryConsumer
- def getNumRocksDBInstances(boundedMemory: Boolean): Long
- def getOrCreateRocksDBMemoryManagerAndCache(conf: RocksDBConf): (WriteBufferManager, Cache)
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @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 logBasedOnLevel(level: Level)(f: => MessageWithContext): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(entry: LogEntry): 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(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(entry: LogEntry): 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(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(entry: LogEntry): 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(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(entry: LogEntry): 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(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def memoryMode: MemoryMode
- Definition Classes
- RocksDBMemoryManager → UnmanagedMemoryConsumer
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def resetWriteBufferManagerAndCache: Unit
Used only for unit testing
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unmanagedMemoryConsumerId: UnmanagedMemoryConsumerId
- Definition Classes
- RocksDBMemoryManager → UnmanagedMemoryConsumer
- def unregisterInstance(uniqueId: String): Unit
Unregister a RocksDB instance.
Unregister a RocksDB instance.
- uniqueId
The instance's unique identifier
- def updateMemoryUsage(uniqueId: String, memoryUsage: Long, isBoundedMemory: Boolean): Unit
Register/update a RocksDB instance with its memory usage.
Register/update a RocksDB instance with its memory usage.
- uniqueId
The instance's unique identifier
- memoryUsage
The current memory usage in bytes
- isBoundedMemory
Whether this instance uses bounded memory mode
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withLogContext(context: Map[String, String])(body: => Unit): Unit
- Attributes
- protected
- Definition Classes
- Logging
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)