Packages

trait StateStore extends AnyRef

Base trait for a versioned key-value store. Each instance of a StateStore represents a specific version of state data, and such instances are created through a StateStoreProvider.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StateStore
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def abort(): Unit

    Abort all the updates that have been made to the store.

    Abort all the updates that have been made to the store. Implementations should ensure that no more updates (puts, removes) can be after an abort in order to avoid incorrect usage.

  2. abstract def commit(): Long

    Commit all the updates that have been made to the store, and return the new version.

    Commit all the updates that have been made to the store, and return the new version. Implementations should ensure that no more updates (puts, removes) can be after a commit in order to avoid incorrect usage.

  3. abstract def get(key: UnsafeRow): UnsafeRow

    Get the current value of a non-null key.

    Get the current value of a non-null key.

    returns

    a non-null row if the key exists in the store, otherwise null.

  4. abstract def hasCommitted: Boolean

    Whether all updates have been committed

  5. abstract def id: StateStoreId

    Unique identifier of the store

  6. abstract def iterator(): Iterator[UnsafeRowPair]

    Return an iterator containing all the key-value pairs in the StateStore.

    Return an iterator containing all the key-value pairs in the StateStore. Implementations must ensure that updates (puts, removes) can be made while iterating over this iterator.

  7. abstract def metrics: StateStoreMetrics

    Current metrics of the state store

  8. abstract def put(key: UnsafeRow, value: UnsafeRow): Unit

    Put a new value for a non-null key.

    Put a new value for a non-null key. Implementations must be aware that the UnsafeRows in the params can be reused, and must make copies of the data as needed for persistence.

  9. abstract def remove(key: UnsafeRow): Unit

    Remove a single non-null key.

  10. abstract def version: Long

    Version of the data in this store before committing updates.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def getRange(start: Option[UnsafeRow], end: Option[UnsafeRow]): Iterator[UnsafeRowPair]

    Get key value pairs with optional approximate start and end extents.

    Get key value pairs with optional approximate start and end extents. If the State Store implementation maintains indices for the data based on the optional keyIndexOrdinal over fields keySchema (see StateStoreProvider.init()), then it can use start and end to make a best-effort scan over the data. Default implementation returns the full data scan iterator, which is correct but inefficient. Custom implementations must ensure that updates (puts, removes) can be made while iterating over this iterator.

    start

    UnsafeRow having the keyIndexOrdinal column set with appropriate starting value.

    end

    UnsafeRow having the keyIndexOrdinal column set with appropriate ending value.

    returns

    An iterator of key-value pairs that is guaranteed not miss any key between start and end, both inclusive.

  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped