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