Package org.apache.flink.runtime.query
Class KvStateRegistry
java.lang.Object
org.apache.flink.runtime.query.KvStateRegistry
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateTaskRegistry(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId) Creates aTaskKvStateRegistryfacade for theTaskidentified by the given JobID and JobVertexID instance.KvStateEntry<?,?, ?> getKvState(org.apache.flink.queryablestate.KvStateID kvStateId) Returns theKvStateEntrycontaining the requested instance as identified by the given KvStateID, along with itsKvStateInfoornullif none is registered.org.apache.flink.queryablestate.KvStateIDregisterKvState(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.voidregisterListener(org.apache.flink.api.common.JobID jobId, KvStateRegistryListener listener) Registers a listener with the registry.voidunregisterKvState(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.voidunregisterListener(org.apache.flink.api.common.JobID jobId) Unregisters the listener with the registry.
-
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 aKvStateRegistryListenerlistener- 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 theKvStateRegistryListener
-
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 tojobVertexId- JobVertexID the KvState instance belongs tokeyGroupRange- Key group range the KvState instance belongs toregistrationName- Name under which the KvState is registeredkvState- 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 tokvStateId- KvStateID to identify the KvState instancekeyGroupRange- Key group range the KvState instance belongs to
-
getKvState
Returns theKvStateEntrycontaining the requested instance as identified by the given KvStateID, along with itsKvStateInfoornullif none is registered.- Parameters:
kvStateId- KvStateID to identify the KvState instance- Returns:
- The
KvStateEntryinstance identified by the KvStateID ornullif there is none
-
createTaskRegistry
public TaskKvStateRegistry createTaskRegistry(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId) Creates aTaskKvStateRegistryfacade for theTaskidentified by the given JobID and JobVertexID instance.- Parameters:
jobId- JobID of the taskjobVertexId- JobVertexID of the task- Returns:
- A
TaskKvStateRegistryfacade for the task
-