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

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

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

    https://github.com/apache/flink/pull/5239#discussion_r159840618
  
    --- Diff: 
flink-contrib/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBKeyedStateBackend.java
 ---
    @@ -831,11 +834,12 @@ private StreamStateHandle materializeStateData(Path 
filePath) throws Exception {
                                return result;
     
                        } finally {
    -                           if (inputStream != null && 
closeableRegistry.unregisterCloseable(inputStream)) {
    +
    +                           if 
(closeableRegistry.unregisterCloseable(inputStream)) {
                                        inputStream.close();
                                }
     
    -                           if (outputStream != null && 
closeableRegistry.unregisterCloseable(outputStream)) {
    +                           if 
(closeableRegistry.unregisterCloseable(outputStream)) {
    --- End diff --
    
    Side note, I do not understand why there is a `try` `finally` block with 
`close()` AND additional `closeableRegistry`. Is `closeableRegistry` used for 
artificially interrupting reads/writes?
    
    Anyway, could you add some comment explaining this to the 
`closeableRegistry` field declaration? 


> Implement task-local state recovery
> -----------------------------------
>
>                 Key: FLINK-8360
>                 URL: https://issues.apache.org/jira/browse/FLINK-8360
>             Project: Flink
>          Issue Type: New Feature
>          Components: State Backends, Checkpointing
>            Reporter: Stefan Richter
>            Assignee: Stefan Richter
>             Fix For: 1.5.0
>
>
> This issue tracks the development of recovery from task-local state. The main 
> idea is to have a secondary, local copy of the checkpointed state, while 
> there is still a primary copy in DFS that we report to the checkpoint 
> coordinator.
> Recovery can attempt to restore from the secondary local copy, if available, 
> to save network bandwidth. This requires that the assignment from tasks to 
> slots is as sticky is possible.
> For starters, we will implement this feature for all managed keyed states and 
> can easily enhance it to all other state types (e.g. operator state) later.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to