Details
-
Sub-task
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
Description
The issue is that Path.toURI().toString() is being used to serialize the location, while new Path(String) is used to deserialize it. URI escapes chars such as space, so the deserialized location doesn't point to the correct file location.
Following exception is seen -
2017-10-24T11:58:34,451 ERROR [d5606640-8174-4584-8b54-936b0f5628fa main] exec.Task: Failed with exception null
java.lang.NullPointerException
at org.apache.hadoop.hive.ql.parse.repl.CopyUtils.regularCopy(CopyUtils.java:211)
at org.apache.hadoop.hive.ql.parse.repl.CopyUtils.copyAndVerify(CopyUtils.java:71)
at org.apache.hadoop.hive.ql.exec.ReplCopyTask.execute(ReplCopyTask.java:137)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:206)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:97)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2276)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1906)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1623)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1362)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1352)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:239)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:187)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:409)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:827)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:765)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:692)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.util.RunJar.run(RunJar.java:239)
at org.apache.hadoop.util.RunJar.main(RunJar.java:153)