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

Rohith Sharma K S commented on YARN-65:
---------------------------------------

thanks [~maniraj...@gmail.com] for the updated patch! Overall your approach 
looks fine to me. 
Couple of comments on tests
# In MockMemoryRMStateStore#loadState, it is not required to create 
newStateData. Just iterate over applications and replace cloned application 
submission context like below 
{code}
  for(Entry<ApplicationId, ApplicationStateData> state :
        cloneState.getApplicationState().entrySet()) {
      ApplicationStateData oldStateData = state.getValue();
      oldStateData.setApplicationSubmissionContext(
        this.appSubCtxtCopy.get(state.getKey()));
    }
{code} 
# Given first comment is handled, then *memory#clone* is not required to call 
in each test cases. The instance of *(MockMemoryRMStateStore) 
rm1.getRMStateStore();* can be passed! By this way, 
MockMemoryRMStateStore#clone method can also be removed. 
# TestWorkPreservingRMRestart test fails after above change which need to be 
debugged. At high level. RMAppState object is being modified even though 
loadstate return copy! 

> Reduce RM app memory footprint once app has completed
> -----------------------------------------------------
>
>                 Key: YARN-65
>                 URL: https://issues.apache.org/jira/browse/YARN-65
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: resourcemanager
>    Affects Versions: 0.23.3
>            Reporter: Jason Lowe
>            Assignee: Manikandan R
>         Attachments: YARN-65.001.patch, YARN-65.002.patch, YARN-65.003.patch, 
> YARN-65.004.patch, YARN-65.005.patch, YARN-65.006.patch, YARN-65.007.patch, 
> YARN-65.008.patch, YARN-65.009.patch, YARN-65.010.patch, YARN-65.011.patch, 
> YARN-65.012.patch, YARN-65.013.patch
>
>
> The ResourceManager holds onto a configurable number of completed 
> applications (yarn.resource.max-completed-applications, defaults to 10000), 
> and the memory footprint of these completed applications can be significant.  
> For example, the {{submissionContext}} in RMAppImpl contains references to 
> protocolbuffer objects and other items that probably aren't necessary to keep 
> around once the application has completed.  We could significantly reduce the 
> memory footprint of the RM by releasing objects that are no longer necessary 
> once an application completes.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to