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

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

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

    https://github.com/apache/flink/pull/3143#discussion_r96476317
  
    --- Diff: 
flink-contrib/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/AbstractRocksDBState.java
 ---
    @@ -132,55 +132,95 @@ public void setCurrentNamespace(N namespace) {
                                namespaceSerializer);
     
                int keyGroup = KeyGroupRangeAssignment.assignToKeyGroup(des.f0, 
backend.getNumberOfKeyGroups());
    -           writeKeyWithGroupAndNamespace(keyGroup, des.f0, des.f1);
    -           return backend.db.get(columnFamily, 
keySerializationStream.toByteArray());
    +
    +           // we cannot reuse the keySerializationStream member since this 
method
    +           // is called concurrently to the other ones and it may this 
contain garbage
    --- End diff --
    
    this -> thus?


> race condition in AbstractRocksDBState#getSerializedValue
> ---------------------------------------------------------
>
>                 Key: FLINK-5530
>                 URL: https://issues.apache.org/jira/browse/FLINK-5530
>             Project: Flink
>          Issue Type: Bug
>          Components: Queryable State
>    Affects Versions: 1.2.0
>            Reporter: Nico Kruber
>            Assignee: Nico Kruber
>            Priority: Blocker
>
> AbstractRocksDBState#getSerializedValue() uses the same key serialisation 
> stream as the ordinary state access methods but is called in parallel during 
> state queries thus violating the assumption of only one thread accessing it. 
> This may lead to either wrong results in queries or corrupt data while 
> queries are executed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to