Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.5.2, 2.6.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.