Carter Shanklin created HIVE-13721:
--------------------------------------
Summary: HPL/SQL COPY FROM FTP Statement: lack of DIR option leads
to NPE
Key: HIVE-13721
URL: https://issues.apache.org/jira/browse/HIVE-13721
Project: Hive
Issue Type: Bug
Components: hpl/sql
Reporter: Carter Shanklin
The docs (http://www.hplsql.org/copy-from-ftp) suggest DIR is optional. When I
left it out in:
{code}
copy from ftp hdp250.example.com user 'vagrant' pwd 'vagrant' files
'sampledata.csv' to /tmp overwrite
{code}
I got:
{code}
Ln:2 Connected to ftp: hdp250.example.com (29 ms)
Ln:2 Retrieving directory listing
Listing the current working FTP directory
Ln:2 Files to copy: 45 bytes, 1 file, 0 subdirectories scanned (27 ms)
Exception in thread "main" java.lang.NullPointerException
at org.apache.hive.hplsql.Ftp.getTargetFileName(Ftp.java:342)
at org.apache.hive.hplsql.Ftp.run(Ftp.java:149)
at org.apache.hive.hplsql.Ftp.copyFiles(Ftp.java:121)
at org.apache.hive.hplsql.Ftp.run(Ftp.java:91)
at org.apache.hive.hplsql.Exec.visitCopy_from_ftp_stmt(Exec.java:1292)
at org.apache.hive.hplsql.Exec.visitCopy_from_ftp_stmt(Exec.java:52)
at
org.apache.hive.hplsql.HplsqlParser$Copy_from_ftp_stmtContext.accept(HplsqlParser.java:11956)
at
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:70)
at org.apache.hive.hplsql.Exec.visitStmt(Exec.java:994)
at org.apache.hive.hplsql.Exec.visitStmt(Exec.java:52)
at
org.apache.hive.hplsql.HplsqlParser$StmtContext.accept(HplsqlParser.java:1012)
at
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:70)
at
org.apache.hive.hplsql.HplsqlBaseVisitor.visitBlock(HplsqlBaseVisitor.java:28)
at
org.apache.hive.hplsql.HplsqlParser$BlockContext.accept(HplsqlParser.java:446)
at
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:70)
at org.apache.hive.hplsql.Exec.visitProgram(Exec.java:901)
at org.apache.hive.hplsql.Exec.visitProgram(Exec.java:52)
at
org.apache.hive.hplsql.HplsqlParser$ProgramContext.accept(HplsqlParser.java:389)
at
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:42)
at org.apache.hive.hplsql.Exec.run(Exec.java:760)
at org.apache.hive.hplsql.Exec.run(Exec.java:736)
at org.apache.hive.hplsql.Hplsql.main(Hplsql.java:23)
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:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
{code}
Traceback leads to:
{code}
/**
* Get the target file relative path and name
*/
String getTargetFileName(String file) {
int len = dir.length();
return targetDir + file.substring(len);
}
{code}
in Ftp.java
When I added DIR '/' this worked.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)