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

Jagadish updated SAMZA-899:
---------------------------
    Issue Type: Sub-task  (was: Bug)
        Parent: SAMZA-902

> Re-design the JobModel class to be immutable
> --------------------------------------------
>
>                 Key: SAMZA-899
>                 URL: https://issues.apache.org/jira/browse/SAMZA-899
>             Project: Samza
>          Issue Type: Sub-task
>            Reporter: Jagadish
>
> The current design of the JobModel class takes in a LocalityManager instance. 
> The JobModel class also populates and mutates the container host mappings by 
> reading from the LocalityManager. This state in the class is also mutated by 
> the methods that make a call to populateContainerToHost mappings.
> The JobModel class should *not* know who its LocalityManager is. The JobModel 
> class must merely take in a *final* container-host mapping as a part of its 
> constructor. (as opposed to taking in a LocalityManager and mutating state)
> The JobModel class is currently shared from multiple threads, hence it's 
> dangerous to expose public methods that mutate state without proper 
> synchronization.
> This re-design will ensure that the JobModel will be immutable and merely 
> expose getters. This is important as the JobModel evolves into a standard 
> interface that all systems that integrate with Samza will have to provide. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to