Class

org.apache.spark.sql.execution.columnar.impl

ColumnFormatValue

Related Doc: package impl

Permalink

class ColumnFormatValue extends SerializedDiskBuffer with GfxdSerializable with Sizeable

Value object in the column store simply encapsulates binary data as a ByteBuffer. This can be either a direct buffer or a heap buffer depending on the system off-heap configuration. The reason for a separate type is to easily store data off-heap without any major changes to engine otherwise as well as efficiently serialize/deserialize them directly to Oplog/socket.

This class extends SerializedDiskBuffer to avoid a copy when reading/writing from Oplog. Consequently it writes the serialization header itself (typeID + classID + size) into stream as would be written by DataSerializer.writeObject. This helps it avoid additional byte writes when transferring data to the channels.

Linear Supertypes
Sizeable, GfxdSerializable, GfxdDSFID, DataSerializableFixedID, SerializationVersions, SerializedDiskBuffer, ByteBufferReference, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ColumnFormatValue
  2. Sizeable
  3. GfxdSerializable
  4. GfxdDSFID
  5. DataSerializableFixedID
  6. SerializationVersions
  7. SerializedDiskBuffer
  8. ByteBufferReference
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ColumnFormatValue(buffer: ByteBuffer, codecId: Int, isCompressed: Boolean, changeOwnerToStorage: Boolean = true)

    Permalink
  2. new ColumnFormatValue()

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. final def channelSize(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  6. def className: String

    Permalink
    Attributes
    protected
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. var columnBuffer: ByteBuffer

    Permalink
    Attributes
    protected
  9. var compressionCodecId: Byte

    Permalink
  10. def copy(buffer: ByteBuffer, isCompressed: Boolean, changeOwnerToStorage: Boolean): ColumnFormatValue

    Permalink
    Attributes
    protected
  11. final def copyToHeap(owner: String): Unit

    Permalink

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  12. var decompressionState: Byte

    Permalink

    This keeps track of whether the buffer is compressed or not.

    This keeps track of whether the buffer is compressed or not. In addition it keeps a count of how many times compression was done on the buffer without intervening decompression, and if it exceeds ColumnFormatEntry.MAX_CONSECUTIVE_COMPRESSIONS and no one is using the decompressed buffer, then replace columnBuffer with compressed version.

    A negative value indicates that the buffer is not compressible (too small or not enough compression can be achieved), a zero indicates a compressed buffer while a positive count indicates a decompressed buffer and number of times compression was done.

    Attributes
    protected
  13. final def decrementReference(): Boolean

    Permalink
    Attributes
    protected[com.gemstone.gemfire.internal.cache.store]
    Definition Classes
    SerializedDiskBuffer
  14. final def duplicateBuffer(buffer: ByteBuffer): ByteBuffer

    Permalink
    Attributes
    protected
    Annotations
    @inline()
  15. var entry: AbstractOplogDiskRegionEntry

    Permalink
    Attributes
    protected
  16. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. def fromData(in: DataInput): Unit

    Permalink
    Definition Classes
    ColumnFormatValue → DataSerializableFixedID
  20. var fromDisk: Boolean

    Permalink
    Attributes
    protected
  21. final def getBuffer(): ByteBuffer

    Permalink

    Return the data as a ByteBuffer.

    Return the data as a ByteBuffer. Should be invoked only after a retain or getValueRetain call.

    Definition Classes
    ColumnFormatValue → ByteBufferReference
  22. final def getBufferRetain(): ByteBuffer

    Permalink

    Callers of this method should have a corresponding release method for eager release to work else off-heap object may keep around occupying system RAM until the next GC cycle.

    Callers of this method should have a corresponding release method for eager release to work else off-heap object may keep around occupying system RAM until the next GC cycle. Callers may decide whether to keep the release method in a finally block to ensure its invocation, or do it only in normal paths because JVM reference collector will eventually clean it in any case.

    Calls to this specific class are guaranteed to always return buffers which have position as zero so callers can make simplifying assumptions about the same.

    Definition Classes
    ColumnFormatValue → ByteBufferReference
  23. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def getDSFID(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → DataSerializableFixedID
  25. def getGfxdID(): Byte

    Permalink
    Definition Classes
    ColumnFormatValue → GfxdDSFID
  26. def getOffHeapSizeInBytes(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  27. def getSerializationVersions(): Array[Version]

    Permalink
    Definition Classes
    ColumnFormatValue → SerializationVersions
  28. def getSizeInBytes(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → Sizeable
  29. def getValueRetain(fetchRequest: FetchRequest): ColumnFormatValue

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer → ByteBufferReference
  30. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  31. final def incrementReference(): Boolean

    Permalink
    Attributes
    protected[com.gemstone.gemfire.internal.cache.store]
    Definition Classes
    SerializedDiskBuffer
  32. final def isCompressed: Boolean

    Permalink
    Attributes
    protected
    Annotations
    @GuardedBy()
  33. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  34. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  35. final def needsRelease(): Boolean

    Permalink
    Definition Classes
    ColumnFormatValue → ByteBufferReference
  36. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  37. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  38. def referenceCount(): Int

    Permalink
    Definition Classes
    SerializedDiskBuffer → ByteBufferReference
  39. var regionContext: RegionEntryContext

    Permalink
    Attributes
    protected
  40. def release(): Unit

    Permalink
    Definition Classes
    SerializedDiskBuffer → ByteBufferReference
  41. def releaseBuffer(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  42. def retain(): Boolean

    Permalink
    Definition Classes
    SerializedDiskBuffer → ByteBufferReference
  43. def setBuffer(buffer: ByteBuffer, codecId: Int, isCompressed: Boolean, changeOwnerToStorage: Boolean = true): Unit

    Permalink
  44. final def setDiskEntry(entry: AbstractOplogDiskRegionEntry, context: RegionEntryContext): Unit

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  45. final def size(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → ByteBufferReference
  46. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  47. def toData(out: DataOutput): Unit

    Permalink
    Definition Classes
    ColumnFormatValue → DataSerializableFixedID
  48. def toString(): String

    Permalink
    Definition Classes
    ColumnFormatValue → AnyRef → Any
  49. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def write(channel: OutputStreamChannel): Unit

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  53. final def write(arg0: OutputStreamChannel, arg1: ByteBuffer): Unit

    Permalink
    Attributes
    protected[com.gemstone.gemfire.internal.cache.store]
    Definition Classes
    SerializedDiskBuffer
    Annotations
    @throws( classOf[java.io.IOException] )
  54. final def writeSerializationHeader(src: ByteBuffer, writeBuf: ByteBuffer): Boolean

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer

Inherited from Sizeable

Inherited from GfxdSerializable

Inherited from GfxdDSFID

Inherited from DataSerializableFixedID

Inherited from SerializationVersions

Inherited from SerializedDiskBuffer

Inherited from ByteBufferReference

Inherited from AnyRef

Inherited from Any

Ungrouped