[ 
https://issues.apache.org/jira/browse/FLINK-8679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16370197#comment-16370197
 ] 

ASF GitHub Bot commented on FLINK-8679:
---------------------------------------

Github user sihuazhou commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5518#discussion_r169369352
  
    --- 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 --
    
    addressed.


> 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)

Reply via email to