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

Yi Pan (Data Infrastructure) commented on SAMZA-1137:
-----------------------------------------------------

[~navina], for now, the need to pass down the ApplicationRunner to the 
StreamOperatorTask is due to the reason that instantiation of StreamSpec is a 
function of the ApplicationRunner, which is required when we are instantiating 
the StreamGraphImpl object for the specific task instance.

In the long-run, the correct solution should be to use the 
LocalApplicationRunner to run the same main method in StreamApplication in the 
container process as well. Or, at least, the same LocalApplicationRunner should 
be used to instantiate the StreamProcessor() and replace the whole 
SamzaContainer.main() method. 

Maybe the first step toward that goal is to implement a YarnContainerRunner 
class that implements ApplicationRunner, and internally uses the 
StreamProcessor to encapsulate a NOOP JobCoordinator and a SamzaContainer. The 
next step to direct run StreamApplication.main() can be an optional extension 
later. Let's discuss it further. We need both a short term and a long term 
solution for that.

> Instantiate ApplicationRunner in SamzaContainer
> -----------------------------------------------
>
>                 Key: SAMZA-1137
>                 URL: https://issues.apache.org/jira/browse/SAMZA-1137
>             Project: Samza
>          Issue Type: Task
>            Reporter: Yi Pan (Data Infrastructure)
>            Assignee: Xinyu Liu
>
> From the discussion on SAMZA-1122, we will need to create an 
> ApplicationRunner in SamzaContainer as well, at least to provide StreamSpecs 
> for fluent API.



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

Reply via email to