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

ASF GitHub Bot commented on SAMZA-1212:
---------------------------------------

Github user asfgit closed the pull request at:

    https://github.com/apache/samza/pull/148


> Refactor interaction between StreamProcessor, JobCoordinator and 
> SamzaContainer
> -------------------------------------------------------------------------------
>
>                 Key: SAMZA-1212
>                 URL: https://issues.apache.org/jira/browse/SAMZA-1212
>             Project: Samza
>          Issue Type: Bug
>            Reporter: Navina Ramesh
>            Assignee: Navina Ramesh
>             Fix For: 0.13.0
>
>
> Currently, StreamProcessor is a dummy wrapper for JobCoordinator and the 
> JobCoordinator directly controls the lifecycle of SamzaContainer. This has a 
> couple of drawbacks:
> 1. Each implementation of JobCoordinator needs to manage the container 
> lifecycle. This seems redundant as the lifecycle of SamzaContainer is driven 
> by availability of JobModel and updates to it. 
> 2. The StreamProcessor interface requirements kind of bleed into 
> JobCoordinator  interface. For example, StreamProcessor interacts with 
> user-api. If the requirements for the user-api change , it will directly 
> impact the JobCoordinator interface as well. A good example of such a design 
> creep is the "awaitStop" interface. While this is a reasonable requirement 
> from the user's perspective of a StreamProcessor, it should not impose the 
> same requirement on every implementation of JobCoordinator. 
> 3. Error handling is pretty straight-forward when there is a control 
> hierarchy of components. However, some implementations of JobCoordinators are 
> synchronous, while others are Asynchronous. This will directly impact how 
> errors/exceptions are propagated across the stack. It will be much cleaner if 
> the StreamProcessor can handle the errors/exception from both container and 
> coordinator.
> These are the primary motivations for refactoring.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to