Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-11507

Hadoop RPC Authentication problem with different user locale

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.5.2, 2.6.0
    • 2.7.0
    • None
    • None

    Description

      When I try to use hadoop mapreduce framework with Turkish locale that set default mapreduce.map.java.opts and mapreduce.reduce.java.opts to -Duser.language=tr. It throws exception.

      After Long research, i found a little bug in org.apache.hadoop.security.SaslPropertiesResolver line 68. default setting of hadoop.rpc.protection is authentication. When i make locale Turkish authentication parameter with toUpperCase become AUTHENTÄ°CATÄ°ON. Please attention to dotted big i. This is a Turkish letter. It is very similar big i, it just have addition dot.

      IMHO who-one use upper or lowercase method for settings, it should use Locale.ENGLISH. I created a patch file. But I could not test it. I can not find which tests should i run. If you show me, I will be glad.

      BTW I think, Hadoop Tests should be run different locale.

      {block}
      ERROR operation.Operation: Error running hive query:
      org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
      at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:147)
      at org.apache.hive.service.cli.operation.SQLOperation.access$000(SQLOperation.java:69)
      at org.apache.hive.service.cli.operation.SQLOperation$1$1.run(SQLOperation.java:200)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.Subject.doAs(Subject.java:415)
      at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
      at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:502)
      at org.apache.hive.service.cli.operation.SQLOperation$1.run(SQLOperation.java:213)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      {block}

      p.s. Exception is generated by a Hive query. It can be generated by any map reduce job.

      Attachments

        1. HADOOP-11507.patch
          1 kB
          Talat Uyarer

        Activity

          People

            talat Talat Uyarer
            talat Talat Uyarer
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: