Github user bowenli86 commented on a diff in the pull request:
https://github.com/apache/flink/pull/4722#discussion_r140907101
--- Diff:
flink-contrib/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBKeyedStateBackend.java
---
@@ -252,6 +257,43 @@ public RocksDBKeyedStateBackend(
LOG.debug("Setting initial keyed backend uid for operator {} to
{}.", this.operatorIdentifier, this.backendUID);
}
+ @Override
+ public <N> Stream<K> getKeys(String field, N namespace) {
+ Tuple2<ColumnFamilyHandle, ?> columnInfo =
kvStateInformation.get(field);
+ if (columnInfo == null) {
+ return Stream.empty();
+ }
+
+ RocksIterator iterator = db.newIterator(columnInfo.f0);
+ iterator.seekToFirst();
+
+ Iterator<K> sourceIterator = new Iterator<K>() {
--- End diff --
I believe it's better to move impl of this iterator to a standalone or
inner class
---