hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Boudnik (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6944) [Herriot] Implement a functionality for building proxy users file and proxy users list.
Date Tue, 21 Sep 2010 00:55:33 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-6944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12912792#action_12912792

Konstantin Boudnik commented on HADOOP-6944:

I suggest to make the following changes:
  - change the signature of {{getHadoopMultiUsersList}} to
{{public ProxyUserDefinitions getHadoopMultiUsersList() throws IOException}}
and then
public abstract class ProxyUserDefinitions {
  class GroupsAndHost {
    private List<String> groups;
    private List<String> hosts;
    public List<String> getGroups() {
      return groups;
    public void setGroups(List<String> groups) {
      this.groups = groups;
    public List<String> getHosts() {
      return hosts;
    public void setHosts(List<String> hosts) {
      this.hosts = hosts;
  protected Map<String, GroupsAndHost> proxyUsers;
  protected ProxyUserDefinitions () {
    proxyUsers = new HashMap<String, GroupsAndHost>();
  public void addProxyUser (String userName, GroupsAndHost definitions) {
    proxyUsers.put(userName, definitions);
  public GroupsAndHost getProxyUser (String userName) {
    return proxyUsers.get(userName);

   * The implementation of this method has to be provided by a child of the class
   * @param filePath
   * @return
   * @throws IOException
  public abstract boolean writeToFile(URI filePath) throws IOException;

so you will be able to store information in this form {{username: group[,group]*}} as well
as the hostnames from where proxy users are allowed to connect. The purpose of this new method
will be to extract only proxy-users related information from a daemon configuration and present
it in the form a data container (above).

The data container provides the method {{writeToFile}} which has to be overwritten by an implementer
in order to provide needed logic of how the content of object is stored into a file. Thus,
you can inherit the class in your testcase (or whatever) and create writeToFile implementation
you need (basically, the second method {{getProxyUsersFile}} of your patch  with some small
modificaitons) for gridmix without adding unrelated functionality to Herriot base classes.

Makes sense?

> [Herriot] Implement a functionality for building proxy users file and proxy users list.
> ---------------------------------------------------------------------------------------
>                 Key: HADOOP-6944
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6944
>             Project: Hadoop Common
>          Issue Type: Task
>          Components: test
>            Reporter: Vinay Kumar Thota
>            Assignee: Vinay Kumar Thota
>         Attachments: HADOOP-6944.patch, HADOOP-6944.patch
> Gridmix should require a proxy user's file for impersonating various jobs. So, implement
couple of methods for getting the proxy users list and a proxy users file (it's a combination
of proxy users and groups) based on cluster configuration.
> The proxy users list should require for map reduce jobs and proxy users file should require
for gridmix jobs.
> The following are methods signature,
> public String getProxyUsersFile() - getting the proxy users file based on cluster configuration
> public String buildProxyUsersFile() - Build the proxy users file using the cluster configuration.
> public ArraryList<String> getHadoopMultiUsersList() - get the list of proxy users
list based on cluster configuration.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message