manager: store pending events in a list state
manager: store pending events in a list state
Keep a list of pending events (i.e., events in the current batch/window) in Flink ListState to avoid data loss and duplicate event processing (e.g., repeated API calls) in case of application restarts or failures.
This guarantee applies within a single window firing: upon recovery, both source offsets and this ListState will be restored to their state at the last successful checkpoint, ensuring that only unprocessed (pending) events are retried.
The ListState is checkpointed consistently as part of Flink's distributed snapshots. Since events are nested dict objects that cannot be easily hashed or frozen, we store them "as is" rather than trying to serialize to a reproducible representation.
Flink 1.17 backport at backport-flink-17.
Bug: T347282