[jira] [Commented] (YARN-4547) LeafQueue#getApplications() is read-only interface, but it provides reference to caller
[ https://issues.apache.org/jira/browse/YARN-4547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15150103#comment-15150103 ] Rohith Sharma K S commented on YARN-4547: - I am bit confused that when to use Duplicate, Done, Implemented OR any other non regularly usable states. Since YARN-4617 is different issue, and incorporated this fixed as part of yarn-4617 patch. So, I precisely chosen as Done. Any suggestions are honored. > LeafQueue#getApplications() is read-only interface, but it provides reference > to caller > --- > > Key: YARN-4547 > URL: https://issues.apache.org/jira/browse/YARN-4547 > Project: Hadoop YARN > Issue Type: Bug > Components: capacity scheduler >Reporter: Rohith Sharma K S >Assignee: Rohith Sharma K S > > The below API is read-only interface, but returning reference to the caller. > This causing caller to modify the orderingPolicy entities. If required > reference of ordering policy, caller can use > {{LeagQueue#getOrderingPolicy()#getSchedulableEntities()}} > The returning object should be clone of > orderingPolicy.getSchedulableEntities() > {code} > /** >* Obtain (read-only) collection of active applications. >*/ > public Collection getApplications() { > return orderingPolicy.getSchedulableEntities(); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (YARN-4547) LeafQueue#getApplications() is read-only interface, but it provides reference to caller
[ https://issues.apache.org/jira/browse/YARN-4547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15150015#comment-15150015 ] Devaraj K commented on YARN-4547: - shouldn't it be duplicate instead of Done? > LeafQueue#getApplications() is read-only interface, but it provides reference > to caller > --- > > Key: YARN-4547 > URL: https://issues.apache.org/jira/browse/YARN-4547 > Project: Hadoop YARN > Issue Type: Bug > Components: capacity scheduler >Reporter: Rohith Sharma K S >Assignee: Rohith Sharma K S > > The below API is read-only interface, but returning reference to the caller. > This causing caller to modify the orderingPolicy entities. If required > reference of ordering policy, caller can use > {{LeagQueue#getOrderingPolicy()#getSchedulableEntities()}} > The returning object should be clone of > orderingPolicy.getSchedulableEntities() > {code} > /** >* Obtain (read-only) collection of active applications. >*/ > public Collection getApplications() { > return orderingPolicy.getSchedulableEntities(); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (YARN-4547) LeafQueue#getApplications() is read-only interface, but it provides reference to caller
[ https://issues.apache.org/jira/browse/YARN-4547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15086067#comment-15086067 ] Sunil G commented on YARN-4547: --- Hi [~rohithsharma] In many of the caller side, we either loop through apps or trying to get the size. I think may be we could return an unmodified set/list here. > LeafQueue#getApplications() is read-only interface, but it provides reference > to caller > --- > > Key: YARN-4547 > URL: https://issues.apache.org/jira/browse/YARN-4547 > Project: Hadoop YARN > Issue Type: Bug > Components: capacity scheduler >Reporter: Rohith Sharma K S >Assignee: Rohith Sharma K S > > The below API is read-only interface, but returning reference to the caller. > This causing caller to modify the orderingPolicy entities. If required > reference of ordering policy, caller can use > {{LeagQueue#getOrderingPolicy()#getSchedulableEntities()}} > The returning object should be clone of > orderingPolicy.getSchedulableEntities() > {code} > /** >* Obtain (read-only) collection of active applications. >*/ > public Collection getApplications() { > return orderingPolicy.getSchedulableEntities(); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)