I have a question about Flink's Async IO support: Async I/O | Apache Flink <https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/operators/asyncio/> .
I understand that access to state is not supported in an AsyncFunction. However, if the input to an AsyncFunction is a keyed stream, can I assume that all input elements with the same key will be handled by the same instance of the async operator, as would normally be the case with keyed streams/operators? I'm asking because I have a situation where I would like to enforce that async operations associated with a particular key happen sequentially, i.e. if two elements come through with the same key, I need the async operation for the second to happen after the async operation for the first one completes. I think I can achieve this using a local map of "in flight" async operations in the operator itself, but only if I can rely on all input elements with the same key being processed by the same async operator. If anyone can confirm how this works, I'd appreciate it. Thanks.