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

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

GitHub user tillrohrmann opened a pull request:

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

    [FLINK-8454] [flip6] Remove JobExecutionResultCache from Dispatcher

    ## What is the purpose of the change
    
    With the introduction of the SerializableExecutionGraphStore to the 
Dispatcher,
    it is no longer necessary to store the JobResult separately. In order to
    decrease complexity and state duplication, this commit removes the
    JobExecutionResultCache and instead uses the SerializableExecutionGraphStore
    to serve completed job information. A side effect of this change is that the
    JobExecutionResult is now available as long as the completed Flink job is 
stored
    in the SerializableExecutionGraphStore.
    
    This PR is based on #5310.
    
    ## Brief change log
    
    - Replace information served from `JobExecutionResultCache` with 
information from `SerializableExecutionGraphStore`
    - Adapt `JobExecutionResultHandler`
    
    ## Verifying this change
    
    This change is already covered by existing tests.
    
    ## 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)`: (no)
      - 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: (no)
      - The S3 file system connector: (no)
    
    ## Documentation
    
      - Does this pull request introduce a new feature? (no)
      - If yes, how is the feature documented? (not applicable)


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

    $ git pull https://github.com/tillrohrmann/flink executionResultRetrieval

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

    https://github.com/apache/flink/pull/5311.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 #5311
    
----
commit a959b9411833e320065b328ed2fc936b58f911f4
Author: Till Rohrmann <trohrmann@...>
Date:   2018-01-16T17:45:53Z

    [FLINK-8449] [flip6] Extend OnCompletionActions to accept an 
SerializableExecutionGraph
    
    This commit introduces the SerializableExecutionGraph which extends the
    AccessExecutionGraph and adds serializability to it. Moreover, this commit
    changes the OnCompletionActions interface such that it accepts a
    SerializableExecutionGraph instead of a plain JobResult. This allows to
    archive the completed ExecutionGraph for further usage in the container
    component of the JobMasterRunner.

commit ca15b076c05ff940a12a240ba385e2434f93790b
Author: Till Rohrmann <trohrmann@...>
Date:   2018-01-18T14:02:36Z

    [hotfix] [tests] Let BucketingSink extend TestLogger

commit 21c25502fb6d07c6fb65f18100dc6d4ec23e9d93
Author: Till Rohrmann <trohrmann@...>
Date:   2018-01-17T14:01:57Z

    [FLINK-8450] [flip6] Make JobMaster/DispatcherGateway#requestJob type safe
    
    Let JobMasterGateway#requestJob and DispatcherGateway#requestJob return a
    CompletableFuture<SerializableExecutionGraph> instead of a
    CompletableFuture<AccessExecutionGraph>. In order to support the old code
    and the JobManagerGateway implementation we have to keep the return type
    in RestfulGateway. Once the old code has been removed, we should change
    this as well.

commit 7b7b0692582189b8e540e5ae022d351c45991e43
Author: Till Rohrmann <trohrmann@...>
Date:   2018-01-17T11:22:43Z

    [FLINK-8453] [flip6] Add SerializableExecutionGraphStore to Dispatcher
    
    The SerializableExecutionGraphStore is responsible for storing completed 
jobs
    for historic job requests (e.g. from the web ui or from the client). The 
store
    is populated by the Dispatcher once a job has terminated.
    
    The FileSerializableExecutionGraphStore implementation persists all
    SerializableExecutionGraphs on disk in order to avoid OOM problems. It only 
keeps
    some of the stored graphs in memory until it reaches a configurable size. 
Once
    coming close to this size, it will evict the elements and only reload them 
if
    requested again. Additionally, the FileSerializableExecutionGraphStore 
defines
    an expiration time after which the execution graphs will be removed from 
disk.
    This prevents excessive use of disk resources.

commit d7a374adc7c463cbe33b7c67a71e5e27d05b51b1
Author: Till Rohrmann <trohrmann@...>
Date:   2018-01-18T16:09:55Z

    [FLINK-8454] [flip6] Remove JobExecutionResultCache from Dispatcher
    
    With the introduction of the SerializableExecutionGraphStore to the 
Dispatcher,
    it is no longer necessary to store the JobResult separately. In order to
    decrease complexity and state duplication, this commit removes the
    JobExecutionResultCache and instead uses the SerializableExecutionGraphStore
    to serve completed job information. A side effect of this change is that the
    JobExecutionResult is now available as long as the completed Flink job is 
stored
    in the SerializableExecutionGraphStore.

----


> Remove JobExecutionResultCache
> ------------------------------
>
>                 Key: FLINK-8454
>                 URL: https://issues.apache.org/jira/browse/FLINK-8454
>             Project: Flink
>          Issue Type: Improvement
>          Components: Distributed Coordination, REST
>    Affects Versions: 1.5.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Major
>              Labels: flip-6
>             Fix For: 1.5.0
>
>
> With the introduction of the {{SerializableExecutionGraphStore}} to the 
> {{Dispatcher}}, it is no longer necessary to store the {{JobResult}} in the 
> {{Dispatcher}}, because all information necessary to derive the {{JobResult}} 
> is contained in the {{SerializableExecutionGraphStore}}. In order to decrease 
> complexity, I propose to remove the {{JobExecutionResultCache}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to