[ 
https://issues.apache.org/jira/browse/SAMZA-2439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prateek Maheshwari updated SAMZA-2439:
--------------------------------------
    Description: 
Goal: Make JobModel immutable by removing locality information (container to 
host mappint) from the JobModel.

Motivation: 
1. Enables us to move JobModel to public APIs and expose it in JobContext.
2. Enables us to cache and serve serialized JobModel from the AM servlet to 
reduce AM overhead (memory, open connections, num threads) during container 
startup, esp. for jobs with a large number of containers (See: 
https://github.com/apache/samza/pull/1241)
3. Removes tech debt: models should be immutable, and should not update 
themselves.
4. Removes tech debt: makes current container location a first class concept 
for container scheduling / placement , and for tools like dashboard, 
samza-rest, auto-scaling, diagnostics etc.

Proposal:
Move locality information (and LocalityManager) out of the JobModel. New 
JobModel should only contain Config and ContainerModel.
Add a new AM HTTP endpoint for getting the container location information for 
external tools.
Update Samza Dashboard and any other tools that rely on locality information to 
get it from the new endpoint instead of the JobModel.


  was:
Goal: Make JobModel immutable by removing locality information (container to 
host mappint) from the JobModel.

Motivation: 
1. Enables us to move JobModel to public APIs and expose it in JobContext.
2. Enables us to cache and serve serialized JobModel from the AM servlet to 
reduce AM overhead (memory, open connections, num threads) during container 
startup, esp. for jobs with a large number of containers.
3. Removes tech debt: models should be immutable, and should not update 
themselves.
4. Removes tech debt: makes current container location a first class concept 
for container scheduling / placement , and for tools like dashboard, 
samza-rest, auto-scaling, diagnostics etc.

Proposal:
Move locality information (and LocalityManager) out of the JobModel. New 
JobModel should only contain Config and ContainerModel.
Add a new AM HTTP endpoint for getting the container location information for 
external tools.
Update Samza Dashboard and any other tools that rely on locality information to 
get it from the new endpoint instead of the JobModel.



> Remove LocalityManager and container location information from JobModel
> -----------------------------------------------------------------------
>
>                 Key: SAMZA-2439
>                 URL: https://issues.apache.org/jira/browse/SAMZA-2439
>             Project: Samza
>          Issue Type: Improvement
>            Reporter: Prateek Maheshwari
>            Priority: Major
>
> Goal: Make JobModel immutable by removing locality information (container to 
> host mappint) from the JobModel.
> Motivation: 
> 1. Enables us to move JobModel to public APIs and expose it in JobContext.
> 2. Enables us to cache and serve serialized JobModel from the AM servlet to 
> reduce AM overhead (memory, open connections, num threads) during container 
> startup, esp. for jobs with a large number of containers (See: 
> https://github.com/apache/samza/pull/1241)
> 3. Removes tech debt: models should be immutable, and should not update 
> themselves.
> 4. Removes tech debt: makes current container location a first class concept 
> for container scheduling / placement , and for tools like dashboard, 
> samza-rest, auto-scaling, diagnostics etc.
> Proposal:
> Move locality information (and LocalityManager) out of the JobModel. New 
> JobModel should only contain Config and ContainerModel.
> Add a new AM HTTP endpoint for getting the container location information for 
> external tools.
> Update Samza Dashboard and any other tools that rely on locality information 
> to get it from the new endpoint instead of the JobModel.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to