Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-13532

MapredLocalTask should use the same security settings as remote task

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Patch Available
    • Major
    • Resolution: Unresolved
    • 1.1.0
    • 1.3.0
    • Security
    • None
    • HADOOP_PROXY_USER is set.

    Description

      Map join set HADOOP_USER_NAME should be realuser's username.

      Current, hive set HADOOP_USER_NAME env for mapjoin local process according:

      String endUserName = Utils.getUGI().getShortUserName();

      suppose set HADOOP_PROXY_USER=abc in shell.

      map join local job will have following env:

      HADOOP_USER_NAME=abc
      HADOOP_PROXY_NAME=abc

      this will cause such exception:

      java.io.IOException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: abc is not allowed to impersonate

      I think we should set HADOOP_USER_NAME to realuser:

      String endUserName = Utils.getUGI().getRealUser().getShortUserName();

      Attachments

        1. HIVE-13532.2.patch
          2 kB
          Changshu Liu
        2. HIVE-13532.1.patch
          2 kB
          Changshu Liu

        Activity

          People

            csliu Changshu Liu
            pensz Zhiwen Sun
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: