Github user StefanRRichter commented on a diff in the pull request:
https://github.com/apache/flink/pull/5518#discussion_r169904243
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/state/KeyedStateBackend.java
---
@@ -61,8 +61,9 @@
* over it keys are not supported.
* @param state State variable for which existing keys will be returned.
* @param namespace Namespace for which existing keys will be returned.
+ * @param namespaceSerializer the serializer for the namespace.
*/
- <N> Stream<K> getKeys(String state, N namespace);
+ <N> Stream<K> getKeys(String state, N namespace, TypeSerializer<N>
namespaceSerializer);
--- End diff --
I noticed that introducing this additional parameter is actually not
required. It is only used in RocksDB, where we can also get the namespace
serializer in `getKeys(...)` via
```
Tuple2<ColumnFamilyHandle,
RegisteredKeyedBackendStateMetaInfo<?, ?>> columnInfo =
kvStateInformation.get(state);
if (columnInfo == null) {
return Stream.empty();
}
...
columnInfo.f1.getNamespaceSerializer();
```
---