hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Dai (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-11441) No DDL allowed on table if user accidentally set table location wrong
Date Fri, 07 Aug 2015 01:00:49 GMT

     [ https://issues.apache.org/jira/browse/HIVE-11441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Daniel Dai updated HIVE-11441:
------------------------------
    Attachment: HIVE-11441.2.patch

Fix a compilation error under Hadoop 1.

> No DDL allowed on table if user accidentally set table location wrong
> ---------------------------------------------------------------------
>
>                 Key: HIVE-11441
>                 URL: https://issues.apache.org/jira/browse/HIVE-11441
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 1.3.0, 2.0.0
>
>         Attachments: HIVE-11441.1.patch, HIVE-11441.2.patch
>
>
> If user makes a mistake, hive should either correct it in the first place, or allow user
a chance to correct it. 
> STEPS TO REPRODUCE:
> create table testwrongloc(id int);
> alter table testwrongloc set location "hdfs://a-valid-hostname/tmp/testwrongloc";
> --at this time, hive should throw error, as hdfs://a-valid-hostname is not a valid path,
it either needs to be hdfs://namenode-hostname:8020/ or hdfs://hdfs-nameservice for HA
> alter table testwrongloc set location "hdfs://correct-host:8020/tmp/testwrongloc"
> or 
> drop table testwrongloc;
> upon this hive throws error, that host 'a-valid-hostname' is not reachable
> {code}
> 2015-07-30 12:19:43,573 DEBUG [main]: transport.TSaslTransport (TSaslTransport.java:readFrame(429))
- CLIENT: reading data length: 293
> 2015-07-30 12:19:43,720 ERROR [main]: ql.Driver (SessionState.java:printError(833)) -
FAILED: SemanticException Unable to fetch table testloc. java.net.ConnectException: Call From
hdpsecb02.secb.hwxsup.com/172.25.16.178 to hdpsecb02.secb.hwxsup.com:8020 failed on connection
exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
> org.apache.hadoop.hive.ql.parse.SemanticException: Unable to fetch table testloc. java.net.ConnectException:
Call From hdpsecb02.secb.hwxsup.com/172.25.16.178 to hdpsecb02.secb.hwxsup.com:8020 failed
on connection exception: java.net.ConnectException: Connection refused; For more details see:
 http://wiki.apache.org/hadoop/ConnectionRefused
>         at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.getTable(BaseSemanticAnalyzer.java:1323)
>         at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.getTable(BaseSemanticAnalyzer.java:1309)
>         at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.addInputsOutputsAlterTable(DDLSemanticAnalyzer.java:1387)
>         at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeAlterTableLocation(DDLSemanticAnalyzer.java:1452)
>         at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeInternal(DDLSemanticAnalyzer.java:295)
>         at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:221)
>         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:417)
>         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:305)
>         at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1069)
>         at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1131)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1006)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:996)
>         at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:247)
>         at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:199)
>         at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:410)
>         at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:783)
>         at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
>         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
>         at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
> Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table testloc.
java.net.ConnectException: Call From hdpsecb02.secb.hwxsup.com/172.25.16.178 to hdpsecb02.secb.hwxsup.com:8020
failed on connection exception: java.net.ConnectException: Connection refused; For more details
see:  http://wiki.apache.org/hadoop/ConnectionRefused
>         at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1072)
>         at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1019)
>         at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.getTable(BaseSemanticAnalyzer.java:1316)
>         ... 23 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message