Hello, I have been trying to understand how serialization works for the Flink Heap Keyed state backend when a checkpoint happens. I want to know how Flink knows which type of serializer to use to serialize the values for different states during the snapshot.
I have debugged both RocksDB and heap keyed state backend. I can see that state is stored in the COW(Copy on Write) data structure which is copied. It does create a proxy (serializationProxy) for serialization that is used to serialized all the values for different state types (value, list). I cannot understand how the proxy is doing serialization for an individual value and the whole list. Thanks