Skip to content

ExecutionMemoryPool

ExecutionMemoryPool is a MemoryPool.

Creating Instance

ExecutionMemoryPool takes the following to be created:

  • Lock Object
  • MemoryMode (ON_HEAP or OFF_HEAP)

ExecutionMemoryPool is created when:

  • MemoryManager is created (and initializes on-heap and off-heap execution memory pools)

Acquiring Memory

acquireMemory(
  numBytes: Long,
  taskAttemptId: Long,
  maybeGrowPool: Long => Unit = (additionalSpaceNeeded: Long) => (),
  computeMaxPoolSize: () => Long = () => poolSize): Long

acquireMemory...FIXME

acquireMemory is used when: