hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Harsh J (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (YARN-555) ContainerLaunchContext is buggy when it comes to setter methods on a new instance
Date Mon, 08 Apr 2013 18:13:17 GMT

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

Harsh J resolved YARN-555.

    Resolution: Duplicate

Thanks! I've resolved this as a dupe of YARN-489, which covers this.
> ContainerLaunchContext is buggy when it comes to setter methods on a new instance
> ---------------------------------------------------------------------------------
>                 Key: YARN-555
>                 URL: https://issues.apache.org/jira/browse/YARN-555
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: api
>    Affects Versions: 2.0.3-alpha
>            Reporter: Harsh J
>            Priority: Minor
> If you look at the API of ContainerLaunchContext, its got setter methods, such as for
setResource, setCommands, etc…:
> http://hadoop.apache.org/docs/current/api/org/apache/hadoop/yarn/api/records/ContainerLaunchContext.html#setCommands(java.util.List)
> However, there's certain things broken in its use here that am trying to understand.
Let me explain with some code context:
> 1. I initialize a proper CLC for an ApplicationSubmissionContext (appContext).
> {code}
> ContainerLaunchContext appMasterLaunchContext = Records.newRecord(ContainerLaunchContext.class);
> appContext.setAMContainerSpec(appMasterLaunchContext);
> {code}
> 2. I create a resource request of 130 MB, as applicationMasterResource, and try to set
it into the CLC via:
> {code}
> appContext.getAMContainerSpec().setResource(applicationMasterResource);
> {code}
> 3. This works OK. If I query it back now, it returns 130 for a {{getMemory()}} call.
> 4. So I attempt to do the same with setCommands/setEnvironment/etc., all of which fail
to mutate cause the check in CLC's implementation class disregards whatever I try to set for
some reason.
> Edit: It seems like the issue is that when I do a appContext.getAMContainerSpec().getLocalResources()
or similar call to get existing initialized data structures to populate further on, what I
really get underneath is a silently non-mutative data structure that I can call .put or .add
on, but it won't really reflect it.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message