Class KvStateRegistry

java.lang.Object
org.apache.flink.runtime.query.KvStateRegistry

public class KvStateRegistry extends Object
A registry for InternalKvState instances per task manager.

This is currently only used for KvState queries: KvState instances, which are marked as queryable in their state descriptor are registered here and can be queried by the KvStateServer.

KvState is registered when it is created/restored and unregistered when the owning operator stops running.

  • Constructor Details

    • KvStateRegistry

      public KvStateRegistry()
  • Method Details

    • registerListener

      public void registerListener(org.apache.flink.api.common.JobID jobId, KvStateRegistryListener listener)
      Registers a listener with the registry.
      Parameters:
      jobId - identifying the job for which to register a KvStateRegistryListener
      listener - The registry listener.
      Throws:
      IllegalStateException - If there is a registered listener
    • unregisterListener

      public void unregisterListener(org.apache.flink.api.common.JobID jobId)
      Unregisters the listener with the registry.
      Parameters:
      jobId - for which to unregister the KvStateRegistryListener
    • registerKvState

      public org.apache.flink.queryablestate.KvStateID registerKvState(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId, KeyGroupRange keyGroupRange, String registrationName, InternalKvState<?,?,?> kvState, ClassLoader userClassLoader)
      Registers the KvState instance and returns the assigned ID.
      Parameters:
      jobId - JobId the KvState instance belongs to
      jobVertexId - JobVertexID the KvState instance belongs to
      keyGroupRange - Key group range the KvState instance belongs to
      registrationName - Name under which the KvState is registered
      kvState - KvState instance to be registered
      Returns:
      Assigned KvStateID
    • unregisterKvState

      public void unregisterKvState(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId, KeyGroupRange keyGroupRange, String registrationName, org.apache.flink.queryablestate.KvStateID kvStateId)
      Unregisters the KvState instance identified by the given KvStateID.
      Parameters:
      jobId - JobId the KvState instance belongs to
      kvStateId - KvStateID to identify the KvState instance
      keyGroupRange - Key group range the KvState instance belongs to
    • getKvState

      public KvStateEntry<?,?,?> getKvState(org.apache.flink.queryablestate.KvStateID kvStateId)
      Returns the KvStateEntry containing the requested instance as identified by the given KvStateID, along with its KvStateInfo or null if none is registered.
      Parameters:
      kvStateId - KvStateID to identify the KvState instance
      Returns:
      The KvStateEntry instance identified by the KvStateID or null if there is none
    • createTaskRegistry

      public TaskKvStateRegistry createTaskRegistry(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId)
      Creates a TaskKvStateRegistry facade for the Task identified by the given JobID and JobVertexID instance.
      Parameters:
      jobId - JobID of the task
      jobVertexId - JobVertexID of the task
      Returns:
      A TaskKvStateRegistry facade for the task