hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hive QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-19253) HMS ignores tableType property for external tables
Date Fri, 17 Aug 2018 06:46:00 GMT

    [ https://issues.apache.org/jira/browse/HIVE-19253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16583465#comment-16583465
] 

Hive QA commented on HIVE-19253:
--------------------------------



Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12935943/HIVE-19253.06.patch

{color:red}ERROR:{color} -1 due to build exiting with an error

Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/13294/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/13294/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-13294/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Tests exited with: Exception: Patch URL https://issues.apache.org/jira/secure/attachment/12935943/HIVE-19253.06.patch
was found in seen patch url's cache and a test was probably run already on it. Aborting...
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12935943 - PreCommit-HIVE-Build

> HMS ignores tableType property for external tables
> --------------------------------------------------
>
>                 Key: HIVE-19253
>                 URL: https://issues.apache.org/jira/browse/HIVE-19253
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore
>    Affects Versions: 3.0.0, 3.1.0, 4.0.0
>            Reporter: Alexander Kolbasov
>            Assignee: Alexander Kolbasov
>            Priority: Major
>              Labels: newbie
>         Attachments: HIVE-19253.01.patch, HIVE-19253.02.patch, HIVE-19253.03.patch, HIVE-19253.03.patch,
HIVE-19253.04.patch, HIVE-19253.05.patch, HIVE-19253.06.patch
>
>
> When someone creates a table using Thrift API they may think that setting tableType to
{{EXTERNAL_TABLE}} creates an external table. And boom - their table is gone later because
HMS will silently change it to managed table.
> here is the offending code:
> {code:java}
>   private MTable convertToMTable(Table tbl) throws InvalidObjectException,
>       MetaException {
>     ...
>     // If the table has property EXTERNAL set, update table type
>     // accordingly
>     String tableType = tbl.getTableType();
>     boolean isExternal = Boolean.parseBoolean(tbl.getParameters().get("EXTERNAL"));
>     if (TableType.MANAGED_TABLE.toString().equals(tableType)) {
>       if (isExternal) {
>         tableType = TableType.EXTERNAL_TABLE.toString();
>       }
>     }
>     if (TableType.EXTERNAL_TABLE.toString().equals(tableType)) {
>       if (!isExternal) { // Here!
>         tableType = TableType.MANAGED_TABLE.toString();
>       }
>     }
> {code}
> So if the EXTERNAL parameter is not set, table type is changed to managed even if it
was external in the first place - which is wrong.
> More over, in other places code looks at the table property to decide table type and
some places look at parameter. HMS should really make its mind which one to use.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message