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

Cameron Moberg resolved HIVE-22268.
-----------------------------------
    Resolution: Not A Problem

> schematool references wrong scripts directory
> ---------------------------------------------
>
>                 Key: HIVE-22268
>                 URL: https://issues.apache.org/jira/browse/HIVE-22268
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore
>    Affects Versions: 3.1.2, 2.3.6
>            Reporter: Cameron Moberg
>            Priority: Major
>
> When running schematool on 2.3.6, 3.1.2 (no standalone metastore) and 
> possibly others, the schematool uses a Java class 
> org.apache.hadoop.hive.metastore.MetaStoreSchemaInfo where it checks for 
> metastore script dirs `getMetaStoreScriptDir()`.
> This function returns (essentially) scripts/*metastore*/upgrade/<FILE_NAME> 
> whereas in 2.3.6 and 3.1.2 now it is *metastore/*scripts/upgrade/<FILE_NAME>.
>  
> {code:java}
> // OLD
> public String getMetaStoreScriptDir() {
>     return  hiveHome + File.separatorChar +
>         "scripts" + File.separatorChar + "metastore" +
>       File.separatorChar + "upgrade" + File.separatorChar + dbType;
> }
> // NEW (tested only with schematool mysql)
> public String getMetaStoreScriptDir() {
>     return  hiveHome + File.separatorChar +
>         "metastore" + File.separatorChar + "scripts" +
>       File.separatorChar + "upgrade" + File.separatorChar + dbType;
> }
> {code}
> I did test it by changing the code and swapping metastore/scripts in the 
> method and it did work.
> {code:java}
> org.apache.hadoop.hive.metastore.HiveMetaException: File 
> /opt/apache-hive-2.3.6-src/scripts/metastore/upgrade/mysql/upgrade.order.mysqlnot
>  found 
>  at 
> org.apache.hadoop.hive.metastore.MetaStoreSchemaInfo.<init>(MetaStoreSchemaInfo.java:69)
>  at org.apache.hive.beeline.HiveSchemaTool.<init>(HiveSchemaTool.java:92)
>  at org.apache.hive.beeline.HiveSchemaTool.<init>(HiveSchemaTool.java:82)
>  at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:1117)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498)
>  at org.apache.hadoop.util.RunJar.run(RunJar.java:244)
>  at org.apache.hadoop.util.RunJar.main(RunJar.java:158)
> Caused by: java.io.FileNotFoundException: 
> /opt/apache-hive-2.3.6-src/scripts/metastore/upgrade/mysql/upgrade.order.mysql
>  (No such file or directory)
>  at java.io.FileInputStream.open0(Native Method)
>  at java.io.FileInputStream.open(FileInputStream.java:195)
>  at java.io.FileInputStream.<init>(FileInputStream.java:138)
>  at java.io.FileInputStream.<init>(FileInputStream.java:93)
>  at java.io.FileReader.<init>(FileReader.java:58)
>  at 
> org.apache.hadoop.hive.metastore.MetaStoreSchemaInfo.<init>(MetaStoreSchemaInfo.java:62)
>  ... 9 more
> *** schemaTool failed ***
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to