[ https://issues.apache.org/jira/browse/FLINK-8679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16369171#comment-16369171 ]
ASF GitHub Bot commented on FLINK-8679: --------------------------------------- Github user aljoscha commented on a diff in the pull request: https://github.com/apache/flink/pull/5518#discussion_r169065861 --- Diff: flink-runtime/src/test/java/org/apache/flink/runtime/state/StateBackendTestBase.java --- @@ -211,24 +211,55 @@ protected CheckpointStreamFactory createStreamFactory() throws Exception { @Test public void testGetKeys() throws Exception { - final int elementsToTest = 1000; + final int namespace1ElementsNum = 1000; + final int namespace2ElementsNum = 1000; String fieldName = "get-keys-test"; AbstractKeyedStateBackend<Integer> backend = createKeyedBackend(IntSerializer.INSTANCE); try { - ValueState<Integer> keyedState = backend.getOrCreateKeyedState( - VoidNamespaceSerializer.INSTANCE, - new ValueStateDescriptor<>(fieldName, IntSerializer.INSTANCE)); - ((InternalValueState<VoidNamespace, Integer>) keyedState).setCurrentNamespace(VoidNamespace.INSTANCE); + final String ns1 = "ns1"; + ValueState<Integer> keyedState1 = backend.getPartitionedState( + ns1, + StringSerializer.INSTANCE, + new ValueStateDescriptor<>(fieldName, IntSerializer.INSTANCE) + ); + + ((InternalValueState<String, Integer>) keyedState1).setCurrentNamespace(ns1); + + for (int key = 0; key < namespace1ElementsNum; key++) { + backend.setCurrentKey(key); + keyedState1.update(key * 2); + } + + ValueState<Integer> keyedState2 = backend.getPartitionedState( + ns1, --- End diff -- If you give `ns2` here you don't have to call `setCurrentNamespace()` later. > RocksDBKeyedBackend.getKeys(stateName, namespace) doesn't filter data with > namespace > ------------------------------------------------------------------------------------ > > Key: FLINK-8679 > URL: https://issues.apache.org/jira/browse/FLINK-8679 > Project: Flink > Issue Type: Bug > Components: State Backends, Checkpointing > Affects Versions: 1.5.0 > Reporter: Sihua Zhou > Assignee: Sihua Zhou > Priority: Blocker > Fix For: 1.5.0 > > > Currently, `RocksDBKeyedBackend.getKeys(stateName, namespace)` is odds. It > doesn't use the namespace to filter data. And > `HeapKeyedBackend.getKeys(stateName, namespace)` has done that, I think they > should be consistent at least. -- This message was sent by Atlassian JIRA (v7.6.3#76005)