Hi hive community,

I am new to Hive and it may be a stupid question but let me know if you
know the answer.

I am attempting to upgrade hive metastore schema from 0.12 to 0.14. The
whole log is here [2]

At the end, VERSION table shows SCHEMA_VERSION 0.14.0. [1] which was 0.12.0
and it seems successful. However, if you take a closer look at the log, you
find an error "Error: ERROR: relation "PART_COL_STATS" already exists"

The error seems occured from pre-0-upgrade-0.13.0-to-0.14.0.postgres.sql,
which is a sole CREATE TABLE command (e.g.
https://github.com/apache/hive/blob/branch-0.14/metastore/scripts/upgrade/postgres/pre-0-upgrade-0.13.0-to-0.14.0.postgres.sql),
and it is maybe OK to fail that way since my current postgres already has
that table.

I never tried but mysql's upgrade scripts has "IF NOT EXISTS" on CREATE
TABLE, I think the error won't show up . (e.g.
https://github.com/apache/hive/blob/master/metastore/scripts/upgrade/mysql/019-HIVE-7784.mysql.sql
)


Questions are
(a) is this considered as successful upgrade since pre-0-upgrade...sql is a
sole create table?
(b) Is this a legitimate bug specific to postgres in the hive product
(specifically hive metastore schematool and missing "IF NOT EXIST"?)




[1]
[root@rhel65-4 database_backup]# ; psql -p10432 -d metastore hive -c'\d
"DBS"' ; psql -p10432 -d metastore hive -c'SELECT * FROM "VERSION"' ;psql
-p10432 -d metastore hive -c'\d "PART_COL_STATS"'
psql -p10432 -d metastore hive -c'SELECT * FROM "VERSION"'
 VER_ID | SCHEMA_VERSION |       VERSION_COMMENT
--------+----------------+-----------------------------
      1 | 0.14.0         | Hive release version 0.14.0
(1 row)



[2] The whole log on upgradeScema
[root@rhel65-4 hive]# su -s /bin/bash - hdfs -c
'HIVE_CONF_DIR=/etc/hive/conf.server
/usr/phd/current/hive-metastore/bin/schematool -upgradeSchema -dbType
postgres -verbose'
15/04/28 16:28:09 WARN conf.HiveConf: HiveConf of name
hive.optimize.mapjoin.mapreduce does not exist
15/04/28 16:28:09 WARN conf.HiveConf: HiveConf of name hive.heapsize does
not exist
15/04/28 16:28:09 WARN conf.HiveConf: HiveConf of name
hive.server2.enable.impersonation does not exist
15/04/28 16:28:09 WARN conf.HiveConf: HiveConf of name
hive.auto.convert.sortmerge.join.noconditionaltask does not exist
Metastore connection URL:
 jdbc:postgresql://rhel65-4.localdomain:10432/metastore
Metastore Connection Driver :    org.postgresql.Driver
Metastore connection User:       hive
Starting upgrade metastore schema from version 0.12.0 to 0.14.0
Upgrade script upgrade-0.12.0-to-0.13.0.postgres.sql
Looking for pre-0-upgrade-0.12.0-to-0.13.0.postgres.sql in
/usr/phd/3.0.0.0-247/hive/scripts/metastore/upgrade/postgres
Connecting to jdbc:postgresql://rhel65-4.localdomain:10432/metastore
Connected to: PostgreSQL (version 8.4.18)
Driver: PostgreSQL Native Driver (version PostgreSQL 8.4 JDBC4 (build 701))
Transaction isolation: TRANSACTION_READ_COMMITTED
0: jdbc:postgresql://rhel65-4.localdomain:104> !autocommit on
Autocommit status: true
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE LANGUAGE plpgsql
Error: ERROR: language "plpgsql" already exists (state=42710,code=0)

Closing: 0: jdbc:postgresql://rhel65-4.localdomain:10432/metastore
Warning in pre-upgrade script pre-0-upgrade-0.12.0-to-0.13.0.postgres.sql:
Schema script failed, errorcode 2
java.io.IOException: Schema script failed, errorcode 2
        at
org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:380)
        at
org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:353)
        at
org.apache.hive.beeline.HiveSchemaTool.runPreUpgrade(HiveSchemaTool.java:323)
        at
org.apache.hive.beeline.HiveSchemaTool.doUpgrade(HiveSchemaTool.java:243)
        at
org.apache.hive.beeline.HiveSchemaTool.doUpgrade(HiveSchemaTool.java:217)
        at
org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:493)
        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)
Looking for pre-1-upgrade-0.12.0-to-0.13.0.postgres.sql in
/usr/phd/3.0.0.0-247/hive/scripts/metastore/upgrade/postgres
Connecting to jdbc:postgresql://rhel65-4.localdomain:10432/metastore
Connected to: PostgreSQL (version 8.4.18)
Driver: PostgreSQL Native Driver (version PostgreSQL 8.4 JDBC4 (build 701))
Transaction isolation: TRANSACTION_READ_COMMITTED
0: jdbc:postgresql://rhel65-4.localdomain:104> !autocommit on
Autocommit status: true
0: jdbc:postgresql://rhel65-4.localdomain:104> SELECT 'Upgrading MetaStore
schema from 0.12.0 to 0.13.0'
+---------------------------------------------------+--+
|                     ?column?                      |
+---------------------------------------------------+--+
| Upgrading MetaStore schema from 0.12.0 to 0.13.0  |
+---------------------------------------------------+--+
1 row selected (0.02 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> SELECT '< HIVE-6386 Database
should have an owner >'
+----------------------------------------------+--+
|                   ?column?                   |
+----------------------------------------------+--+
| < HIVE-6386 Database should have an owner >  |
+----------------------------------------------+--+
1 row selected (0.007 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> ALTER TABLE "DBS" ADD COLUMN
"OWNER_NAME" character varying(128)
No rows affected (0.007 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> ALTER TABLE "DBS" ADD COLUMN
"OWNER_TYPE" character varying(10)
No rows affected (0.006 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> SELECT '< HIVE-6458 Add
schema upgrade scripts for metastore changes related to permanent functions
>'
+------------------------------------------------------------------------------------------------+--+
|                                            ?column?
                     |
+------------------------------------------------------------------------------------------------+--+
| < HIVE-6458 Add schema upgrade scripts for metastore changes related to
permanent functions >  |
+------------------------------------------------------------------------------------------------+--+
1 row selected (0.006 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE "FUNCS" (
"FUNC_ID" BIGINT NOT NULL, "CLASS_NAME" VARCHAR(4000), "CREATE_TIME"
INTEGER NOT NULL, "DB_ID" BIGINT, "FUNC_NAME" VARCHAR(128), "FUNC_TYPE"
INTEGER NOT NULL, "OWNER_NAME" VARCHAR(128), "OWNER_TYPE" VARCHAR(10),
PRIMARY KEY ("FUNC_ID") )
No rows affected (0.028 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE UNIQUE INDEX
"UNIQUEFUNCTION" ON "FUNCS" ("FUNC_NAME", "DB_ID")
No rows affected (0.008 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE INDEX "FUNCS_N49" ON
"FUNCS" ("DB_ID")
No rows affected (0.004 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> ALTER TABLE ONLY "FUNCS" ADD
CONSTRAINT "FUNCS_FK1" FOREIGN KEY ("DB_ID") REFERENCES "DBS" ("DB_ID")
DEFERRABLE
No rows affected (0.004 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE "FUNC_RU" (
"FUNC_ID" BIGINT NOT NULL, "RESOURCE_TYPE" INTEGER NOT NULL, "RESOURCE_URI"
VARCHAR(4000), "INTEGER_IDX" INTEGER NOT NULL, PRIMARY KEY ("FUNC_ID",
"INTEGER_IDX") )
No rows affected (0.007 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE INDEX "FUNC_RU_N49"
ON "FUNC_RU" ("FUNC_ID")
No rows affected (0.005 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> ALTER TABLE ONLY "FUNC_RU"
ADD CONSTRAINT "FUNC_RU_FK1" FOREIGN KEY ("FUNC_ID") REFERENCES "FUNCS"
("FUNC_ID") DEFERRABLE
No rows affected (0.002 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> SELECT '< HIVE-6757 Remove
deprecated parquet classes from outside of org.apache package >'
+-------------------------------------------------------------------------------------+--+
|                                      ?column?
          |
+-------------------------------------------------------------------------------------+--+
| < HIVE-6757 Remove deprecated parquet classes from outside of org.apache
package >  |
+-------------------------------------------------------------------------------------+--+
1 row selected (0.001 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> UPDATE "SDS" SET
"INPUT_FORMAT" =
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' WHERE
"INPUT_FORMAT"= 'parquet.hive.DeprecatedParquetInputFormat' or
"INPUT_FORMAT" = 'parquet.hive.MapredParquetInputFormat'
No rows affected (0.003 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> UPDATE "SDS" SET
"OUTPUT_FORMAT" =
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' WHERE
"OUTPUT_FORMAT" = 'parquet.hive.DeprecatedParquetOutputFormat'  or
"OUTPUT_FORMAT" = 'parquet.hive.MapredParquetOutputFormat'
No rows affected (0.001 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> UPDATE "SERDES" SET "SLIB"
='org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' WHERE "SLIB"
= 'parquet.hive.serde.ParquetHiveSerDe'
No rows affected (0.001 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE TXNS ( TXN_ID
bigint PRIMARY KEY, TXN_STATE char(1) NOT NULL, TXN_STARTED bigint NOT
NULL, TXN_LAST_HEARTBEAT bigint NOT NULL, TXN_USER varchar(128) NOT NULL,
TXN_HOST varchar(128) NOT NULL )
No rows affected (0.009 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE TXN_COMPONENTS
( TC_TXNID bigint REFERENCES TXNS (TXN_ID), TC_DATABASE varchar(128) NOT
NULL, TC_TABLE varchar(128), TC_PARTITION varchar(767) DEFAULT NULL )
No rows affected (0.012 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE
COMPLETED_TXN_COMPONENTS ( CTC_TXNID bigint, CTC_DATABASE varchar(128) NOT
NULL, CTC_TABLE varchar(128), CTC_PARTITION varchar(767) )
No rows affected (0.009 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE NEXT_TXN_ID (
NTXN_NEXT bigint NOT NULL )
No rows affected (0.003 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> INSERT INTO NEXT_TXN_ID
VALUES(1)
1 row affected (0.004 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE HIVE_LOCKS (
HL_LOCK_EXT_ID bigint NOT NULL, HL_LOCK_INT_ID bigint NOT NULL, HL_TXNID
bigint, HL_DB varchar(128) NOT NULL, HL_TABLE varchar(128), HL_PARTITION
varchar(767) DEFAULT NULL, HL_LOCK_STATE char(1) NOT NULL, HL_LOCK_TYPE
char(1) NOT NULL, HL_LAST_HEARTBEAT bigint NOT NULL, HL_ACQUIRED_AT bigint,
HL_USER varchar(128) NOT NULL, HL_HOST varchar(128) NOT NULL, PRIMARY
KEY(HL_LOCK_EXT_ID, HL_LOCK_INT_ID) )
No rows affected (0.017 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE INDEX HL_TXNID_INDEX
ON HIVE_LOCKS USING hash (HL_TXNID)
No rows affected (0.003 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE NEXT_LOCK_ID (
NL_NEXT bigint NOT NULL )
No rows affected (0.002 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> INSERT INTO NEXT_LOCK_ID
VALUES(1)
1 row affected (0.002 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE
COMPACTION_QUEUE ( CQ_ID bigint PRIMARY KEY, CQ_DATABASE varchar(128) NOT
NULL, CQ_TABLE varchar(128) NOT NULL, CQ_PARTITION varchar(767), CQ_STATE
char(1) NOT NULL, CQ_TYPE char(1) NOT NULL, CQ_WORKER_ID varchar(128),
CQ_START bigint, CQ_RUN_AS varchar(128) )
No rows affected (0.023 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE
NEXT_COMPACTION_QUEUE_ID ( NCQ_NEXT bigint NOT NULL )
No rows affected (0.005 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> INSERT INTO
NEXT_COMPACTION_QUEUE_ID VALUES(1)
1 row affected (0.003 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> UPDATE "VERSION" SET
"SCHEMA_VERSION"='0.13.0', "VERSION_COMMENT"='Hive release version 0.13.0'
where "VER_ID"=1
1 row affected (0.006 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> SELECT 'Finished upgrading
MetaStore schema from 0.12.0 to 0.13.0'
+------------------------------------------------------------+--+
|                          ?column?                          |
+------------------------------------------------------------+--+
| Finished upgrading MetaStore schema from 0.12.0 to 0.13.0  |
+------------------------------------------------------------+--+
1 row selected (0.001 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> !closeall
Closing: 0: jdbc:postgresql://rhel65-4.localdomain:10432/metastore
beeline>
Completed upgrade-0.12.0-to-0.13.0.postgres.sql
Upgrade script upgrade-0.13.0-to-0.14.0.postgres.sql
Looking for pre-0-upgrade-0.13.0-to-0.14.0.postgres.sql in
/usr/phd/3.0.0.0-247/hive/scripts/metastore/upgrade/postgres
Connecting to jdbc:postgresql://rhel65-4.localdomain:10432/metastore
Connected to: PostgreSQL (version 8.4.18)
Driver: PostgreSQL Native Driver (version PostgreSQL 8.4 JDBC4 (build 701))
Transaction isolation: TRANSACTION_READ_COMMITTED
0: jdbc:postgresql://rhel65-4.localdomain:104> !autocommit on
Autocommit status: true
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE TABLE
"PART_COL_STATS" ( "CS_ID" bigint NOT NULL, "DB_NAME" character
varying(128) DEFAULT NULL::character varying, "TABLE_NAME" character
varying(128) DEFAULT NULL::character varying, "PARTITION_NAME" character
varying(767) DEFAULT NULL::character varying, "COLUMN_NAME" character
varying(128) DEFAULT NULL::character varying, "COLUMN_TYPE" character
varying(128) DEFAULT NULL::character varying, "PART_ID" bigint NOT NULL,
"LONG_LOW_VALUE" bigint, "LONG_HIGH_VALUE" bigint, "DOUBLE_LOW_VALUE"
double precision, "DOUBLE_HIGH_VALUE" double precision,
"BIG_DECIMAL_LOW_VALUE" character varying(4000) DEFAULT NULL::character
varying, "BIG_DECIMAL_HIGH_VALUE" character varying(4000) DEFAULT
NULL::character varying, "NUM_NULLS" bigint NOT NULL, "NUM_DISTINCTS"
bigint, "AVG_COL_LEN" double precision, "MAX_COL_LEN" bigint, "NUM_TRUES"
bigint, "NUM_FALSES" bigint, "LAST_ANALYZED" bigint NOT NULL )
Error: ERROR: relation "PART_COL_STATS" already exists (state=42P07,code=0)

Closing: 0: jdbc:postgresql://rhel65-4.localdomain:10432/metastore
Warning in pre-upgrade script pre-0-upgrade-0.13.0-to-0.14.0.postgres.sql:
Schema script failed, errorcode 2
java.io.IOException: Schema script failed, errorcode 2
        at
org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:380)
        at
org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:353)
        at
org.apache.hive.beeline.HiveSchemaTool.runPreUpgrade(HiveSchemaTool.java:323)
        at
org.apache.hive.beeline.HiveSchemaTool.doUpgrade(HiveSchemaTool.java:243)
        at
org.apache.hive.beeline.HiveSchemaTool.doUpgrade(HiveSchemaTool.java:217)
        at
org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:493)
        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)
Looking for pre-1-upgrade-0.13.0-to-0.14.0.postgres.sql in
/usr/phd/3.0.0.0-247/hive/scripts/metastore/upgrade/postgres
Connecting to jdbc:postgresql://rhel65-4.localdomain:10432/metastore
Connected to: PostgreSQL (version 8.4.18)
Driver: PostgreSQL Native Driver (version PostgreSQL 8.4 JDBC4 (build 701))
Transaction isolation: TRANSACTION_READ_COMMITTED
0: jdbc:postgresql://rhel65-4.localdomain:104> !autocommit on
Autocommit status: true
0: jdbc:postgresql://rhel65-4.localdomain:104> SELECT 'Upgrading MetaStore
schema from 0.13.0 to 0.14.0'
+---------------------------------------------------+--+
|                     ?column?                      |
+---------------------------------------------------+--+
| Upgrading MetaStore schema from 0.13.0 to 0.14.0  |
+---------------------------------------------------+--+
1 row selected (0.001 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> CREATE INDEX "PCS_STATS_IDX"
ON "PART_COL_STATS" USING btree
("DB_NAME","TABLE_NAME","COLUMN_NAME","PARTITION_NAME")
No rows affected (0.009 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> UPDATE "VERSION" SET
"SCHEMA_VERSION"='0.14.0', "VERSION_COMMENT"='Hive release version 0.14.0'
where "VER_ID"=1
1 row affected (0.003 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> SELECT 'Finished upgrading
MetaStore schema from 0.13.0 to 0.14.0'
+------------------------------------------------------------+--+
|                          ?column?                          |
+------------------------------------------------------------+--+
| Finished upgrading MetaStore schema from 0.13.0 to 0.14.0  |
+------------------------------------------------------------+--+
1 row selected (0.007 seconds)
0: jdbc:postgresql://rhel65-4.localdomain:104> !closeall
Closing: 0: jdbc:postgresql://rhel65-4.localdomain:10432/metastore
beeline>
Completed upgrade-0.13.0-to-0.14.0.postgres.sql
schemaTool completed

-- 
-jun

Reply via email to