You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Gunther Hagleitner (JIRA)" <ji...@apache.org> on 2017/06/24 00:23:00 UTC

[jira] [Updated] (HIVE-16942) INFORMATION_SCHEMA: schematool for setting it up is not idempotent

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

Gunther Hagleitner updated HIVE-16942:
--------------------------------------
    Attachment: HIVE-16942.1.patch

> INFORMATION_SCHEMA: schematool for setting it up is not idempotent
> ------------------------------------------------------------------
>
>                 Key: HIVE-16942
>                 URL: https://issues.apache.org/jira/browse/HIVE-16942
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Carter Shanklin
>            Assignee: Gunther Hagleitner
>         Attachments: HIVE-16942.1.patch
>
>
> If you run schematool to set up information schema, but the SYS database already exists, here's what happens:
> {code}
> [vagrant@trunk apache-hive-3.0.0-SNAPSHOT-bin]$ schematool -metaDbType mysql -dbType hive -initSchema -url jdbc:hive2://localhost:10000/default -driver org.apache.hive.jdbc.HiveDriver
> Metastore connection URL:	 jdbc:hive2://localhost:10000/default
> Metastore Connection Driver :	 org.apache.hive.jdbc.HiveDriver
> Metastore connection User:	 hive
> Starting metastore schema initialization to 3.0.0
> Initialization script hive-schema-3.0.0.hive.sql
> Error: org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Database SYS already exists
> 	at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:315)
> 	at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:254)
> {code}
> Why is this a problem you ask?
> If you run schematool without hive.metastore.db.type set (or set to the wrong thing), it will create the sys database but fail to create any of the tables within it. If you go and fix hive.metastore.db.type and re-run you'll get this failure until you drop the SYS database (which must be done as the hive user).
> Can the init script use "create database if not exists sys" rather than just "create database sys"?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)