Github user gyfora commented on the pull request:
https://github.com/apache/flink/pull/2051#issuecomment-222606282
I will gradually add some questions/comments as I go :)
1. Do we really need a QueryableStateStream exposed in the API? As you said
this is just a pretty basic sink that anyone can probably inline who knows
Flink enough to use the States. And I am guessing looking inside other
operators is probably the most interesting use-case for this new feature.
(2. If we decide to keep the QueryableStateStream could it be just
implemented as a simple RichSink? stream.addSink(...) instead of adding another
operator to the runtime layer)
3. I think it would be great to make the KvStateClient somehow aware of
the types, because passing keynamespace byte arrays will be confusing for users
as they will have no idea what the namespace is. The namespaces are pretty
internal to the system. Maybe we could allow users to register serializers for
state ids in the KvStateClient so they would not need to manually pass byte
arrays and they could work with the actual keys. Also if they don't want to
specify the namespace, we could then serialize it with the VoidSerializer as it
usually happens in the runtime in most cases.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---