[ https://issues.apache.org/jira/browse/HIVE-23074?focusedWorklogId=443254&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-443254 ]
ASF GitHub Bot logged work on HIVE-23074: ----------------------------------------- Author: ASF GitHub Bot Created on: 09/Jun/20 16:47 Start Date: 09/Jun/20 16:47 Worklog Time Spent: 10m Work Description: John1Tang commented on pull request #967: URL: https://github.com/apache/hive/pull/967#issuecomment-641412921 > I'm looking at the corresponding MySQL scripts and they do not include `IF NOT EXISTS` statement. If the tool is failing on a simple upgrade, that's a bigger problem than just ignoring some table and indexes. It shouldn't include anything that is already present. Need more context of the problem. Actually, this is how it all began: I was going to do Hive metadata migration from 3.0.0 to 3.1.2 and when I executed the "bin/schematool -dbType postgres -upgradeSchemaFrom 3.0.0", the new Hive 3.1.2 was not able to start. Then I just found that the previous Hive 3.0.0 remained an older schema, in other words, the previous maintainer didn't upgrade schema from 2.3.0. So when I did "bin/schematool -dbType postgres -upgradeSchemaFrom 2.3.0" it reported all those "exists"/"not exists" error, so i would suggest to keep the idempotence of those scripts, we can use IF NOT EXISTS to avoid those error. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 443254) Remaining Estimate: 0h (was: 10m) Time Spent: 1h (was: 50m) > SchemaTool sql script execution errors when updating the metadata's schema > -------------------------------------------------------------------------- > > Key: HIVE-23074 > URL: https://issues.apache.org/jira/browse/HIVE-23074 > Project: Hive > Issue Type: Bug > Components: SQL > Affects Versions: 3.1.2 > Environment: running machine: centos7.2 > metadata db: PostgreSQL 11.3 on x86_64-pc-linux-gnu > hive version: upgrade from version 3.0.0 to 3.1.2 > Reporter: John1Tang > Assignee: John1Tang > Priority: Major > Labels: pull-request-available > Fix For: 3.1.2 > > Original Estimate: 1h > Time Spent: 1h > Remaining Estimate: 0h > > SchemaTool sql script executed with conflicts on indices and columns and > missed " for avoiding keywords when updating the metadata's schema > {code:java} > bin/schematool -dbType postgres -upgradeSchemaFrom 3.0.0{code} > went like this: > {code:java} > ALTER TABLE "GLOBAL_PRIVS" ADD COLUMN "AUTHORIZER" character varying(128) > DEFAULT NULL::character varying > Error: ERROR: column "AUTHORIZER" of relation "GLOBAL_PRIVS" already exists > (state=42701,code=0){code} > {code:java} > ALTER TABLE COMPLETED_TXN_COMPONENTS ADD COLUMN IF NOT EXISTS > CTC_UPDATE_DELETE char(1) NULL > Error: ERROR: relation "completed_txn_components" does not exist > (state=42P01,code=0) > {code} > I've already come up with a solution and created a pull request for this > issue. -- This message was sent by Atlassian Jira (v8.3.4#803005)