You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Zhijie Shen (JIRA)" <ji...@apache.org> on 2015/06/03 22:50:39 UTC

[jira] [Commented] (YARN-1942) Many of ConverterUtils methods need to have public interfaces

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

Zhijie Shen commented on YARN-1942:
-----------------------------------

It seems that we have more than ConverterUtils that has been referenced by external projects. For example, in YARN-1462, we just encountered the issue that newInstance is marked as \@Private, but it's actually referenced by Tez.

We need to check the public methods that are annotated as \@Private in api/common module. If they are useful to or reasonably referenced by the downstream projects, we should mark them \@Public. Sid has suggested to take MR as the example. If there're some such methods used by MR, it's very likely to be used by others too.

> Many of ConverterUtils methods need to have public interfaces
> -------------------------------------------------------------
>
>                 Key: YARN-1942
>                 URL: https://issues.apache.org/jira/browse/YARN-1942
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: api
>    Affects Versions: 2.4.0
>            Reporter: Thomas Graves
>            Assignee: Wangda Tan
>            Priority: Critical
>         Attachments: YARN-1942.1.patch, YARN-1942.2.patch
>
>
> ConverterUtils has a bunch of functions that are useful to application masters.   It should either be made public or we make some of the utilities in it public or we provide other external apis for application masters to use.  Note that distributedshell and MR are both using these interfaces. 
> For instance the main use case I see right now is for getting the application attempt id within the appmaster:
> String containerIdStr =
>           System.getenv(Environment.CONTAINER_ID.name());
> ConverterUtils.toContainerId
> ContainerId containerId = ConverterUtils.toContainerId(containerIdStr);
>       ApplicationAttemptId applicationAttemptId =
>           containerId.getApplicationAttemptId();
> I don't see any other way for the application master to get this information.  If there is please let me know.



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