GitHub user StefanRRichter opened a pull request:

    https://github.com/apache/flink/pull/4745

    [FLINK-7720] [state backends] Centralize creation of backends and state 
related resources

    ## What is the purpose of the change
    
    This PR combines [FLINK-7719] and [FLINK-7720], which are both related to 
our efforts to introduce task recovery from local state. [FLINK-7719] makes the 
checkpoint id part of the task deployment descriptior, which is required so 
that tasks can figure our the right state for local recovery. [FLINK-7720] 
introduces state manager components on task manager, task, and stream task 
level that build upon each other. The purpose of them is unifying the creation 
of state related elements such as backends. State reporting now goes through 
those state managers.
    
    ## Brief change log
    [FLINK-7719]
      - *JobManagerTaskRestore carries the checkpoint state handles and 
checkpoint id that the JM wants the task to restore*
    
    [FLINK-7720]
      - *Introduced TaskExecutorLocalStateStoresManager (mostly as 
placeholder/mock), TaskLocalStateStore (currently only a placeholder/ mock), 
TaskStateManager, and StreamTaskStateManager. Those build a hierarchy for state 
reporting and recovery.*
      - *All state related elements are now created by the 
StreamTaskStateManager and owned by the stream operator.*
    
    
    ## Verifying this change
    
    This change is already covered by existing tests and is currently mostly a 
refactoring and preparation for future extension. New test cases have been 
added for implementations of new components. There should currently no 
observable changes for users.
    
    ## Does this pull request potentially affect one of the following parts:
    
      - Dependencies (does it add or upgrade a dependency): (no)
      - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: (yes)
      - The serializers: (no)
      - The runtime per-record code paths (performance sensitive): (no)
      - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes)
    
    ## Documentation
    
      - Does this pull request introduce a new feature? (no)
    


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/StefanRRichter/flink state-manager-pull

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/4745.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #4745
    
----
commit e20958a2b54856cba353ea52bc603a16bee0611c
Author: Stefan Richter <[email protected]>
Date:   2017-08-21T12:31:38Z

    [FLINK-7719] [checkpoints] Send checkpoint id to task as part of deployment 
descriptor when resuming

commit c27c692a36305c79329e01031a43ae880039c9fd
Author: Stefan Richter <[email protected]>
Date:   2017-09-27T13:10:52Z

    [FLINK-7720] [checkpoints] Centralize creation of backends and state 
related resources

----


---

Reply via email to