Tzu-Li (Gordon) Tai created FLINK-5991:
------------------------------------------
Summary: Expose Broadcast Operator State through public APIs
Key: FLINK-5991
URL:
https://issues.apache.org/jira/browse/FLINK-5991 Project: Flink
Issue Type: New Feature
Components: State Backends, Checkpointing, Streaming
Reporter: Tzu-Li (Gordon) Tai
Assignee: Tzu-Li (Gordon) Tai
Fix For: 1.3.0
The broadcast operator state functionality was added in FLINK-5265, it just hasn't been exposed through any public APIs yet.
Currently, we have 2 streaming connector features for 1.3 that are pending on broadcast state: rescalable Kinesis / Kafka consumers with shard / partition discovery (FLINK-4821 & FLINK-4022). We should consider exposing broadcast state for the 1.3 release also.
This JIRA also serves the purpose to discuss how we want to expose it.
To initiate the discussion, I propose:
1. For the more powerful `CheckpointedFunction`, add:
{code}
<S> ListState<S> getBroadcastOperatorState(ListStateDescriptor<S> stateDescriptor);
<T extends Serializable> ListState<T> getBroadcastSerializableListState(String stateName);
{code}
2. For a simpler `ListCheckpointed` variant, we probably should have a separate `BroadcastListCheckpointed` interface.
Extending `ListCheckpointed` to let the user define either `PARTITIONABLE` or `BROADCAST` list used might also be possible, if we can rely on a contract that the value doesn't change. Or we expose a defining method (e.g. `getListStateType()`) that is called only once in the operator.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)