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

Ashutosh Chauhan commented on HIVE-5484:
----------------------------------------

Thinking more about it, here is my proposal :
* lets not strip any info coming in via build.properties (which is what this 
patch is doing)
* Add a new api in HiveVersionInfo getShortVersion() which strictly returns 
version of form majorVersion.minorVersion.changeVersion 
* In metastore, this short version should be stored (storing build # or 
"snapshot" in there doesn't make sense).  
* bin/hive --version should return full version 
* Jdbc client should see short version (though I am less certain here)
* Downstream projects which integrate with Hive (like oozie) can use either 
java api as they see fit, though I assume they would be more interested in 
short version as well.

> TestSchemaTool failures when Hive version has more than 3 revision numbers
> --------------------------------------------------------------------------
>
>                 Key: HIVE-5484
>                 URL: https://issues.apache.org/jira/browse/HIVE-5484
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Jason Dere
>            Assignee: Jason Dere
>         Attachments: HIVE-5484.1.patch
>
>
> If Hive is created with a version string with more than 3 numbers, we end up 
> with a couple of test failures in TestSchemaTool, because the metastore is 
> expecting a version with the format of 
> majorVersion.minorVersion.changeVersion. 
>     <error message="Unknown version specified for initialization: 
> 0.12.0.2.0.6.0-61" 
> type="org.apache.hadoop.hive.metastore.HiveMetaException">org.apache.hadoop.hive.metastore.HiveMetaException:
>  Unknown version specified for initialization: 0.12.0.2.0.6.0-61
>       at 
> org.apache.hadoop.hive.metastore.MetaStoreSchemaInfo.generateInitFileName(MetaStoreSchemaInfo.java:113)
>       at 
> org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:269)
>       at 
> org.apache.hive.beeline.src.test.TestSchemaTool.testSchemaInit(TestSchemaTool.java:104)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at junit.framework.TestCase.runTest(TestCase.java:168)
>       at junit.framework.TestCase.runBare(TestCase.java:134)
>       at junit.framework.TestResult$1.protect(TestResult.java:110)
>       at junit.framework.TestResult.runProtected(TestResult.java:128)
>       at junit.framework.TestResult.run(TestResult.java:113)
>       at junit.framework.TestCase.run(TestCase.java:124)
>       at junit.framework.TestSuite.runTest(TestSuite.java:243)
>       at junit.framework.TestSuite.run(TestSuite.java:238)
>       at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
>       at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
>       at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)
> </error>
>   </testcase>
>   <testcase classname="org.apache.hive.beeline.src.test.TestSchemaTool" 
> name="testSchemaUpgrade" time="2.164">
>     <error message="Found unexpected schema version 0.12.0" 
> type="org.apache.hadoop.hive.metastore.HiveMetaException">org.apache.hadoop.hive.metastore.HiveMetaException:
>  Found unexpected schema version 0.12.0
>       at 
> org.apache.hive.beeline.HiveSchemaTool.verifySchemaVersion(HiveSchemaTool.java:192)
>       at 
> org.apache.hive.beeline.HiveSchemaTool.doUpgrade(HiveSchemaTool.java:242)
>       at 
> org.apache.hive.beeline.src.test.TestSchemaTool.testSchemaUpgrade(TestSchemaTool.java:128)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at junit.framework.TestCase.runTest(TestCase.java:168)
>       at junit.framework.TestCase.runBare(TestCase.java:134)
>       at junit.framework.TestResult$1.protect(TestResult.java:110)
>       at junit.framework.TestResult.runProtected(TestResult.java:128)
>       at junit.framework.TestResult.run(TestResult.java:113)
>       at junit.framework.TestCase.run(TestCase.java:124)
>       at junit.framework.TestSuite.runTest(TestSuite.java:243)
>       at junit.framework.TestSuite.run(TestSuite.java:238)
>       at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
>       at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
>       at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)
> </error>



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to