This is an automated email from the ASF dual-hosted git repository.

vihangk1 pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/branch-2 by this push:
     new fd2f7c8  HIVE-21484 : Metastore API getVersion() should return real 
version (Vihang Karajgaonkar, reviewed by Naveen Gangam and Peter Vary)
fd2f7c8 is described below

commit fd2f7c85c84ad1f0a955325d886286d6eb515f16
Author: Vihang Karajgaonkar <vihan...@apache.org>
AuthorDate: Fri Mar 29 12:47:05 2019 -0700

    HIVE-21484 : Metastore API getVersion() should return real version (Vihang 
Karajgaonkar, reviewed by Naveen Gangam and Peter Vary)
---
 .../java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java   | 6 ++++++
 .../src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java   | 6 ++++--
 .../java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java | 5 +++++
 .../java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java    | 7 +++++++
 4 files changed, 22 insertions(+), 2 deletions(-)

diff --git 
a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
 
b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
index 8ba1b9a..7e919cc 100644
--- 
a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
+++ 
b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
@@ -35,6 +35,7 @@ import java.util.Set;
 
 import junit.framework.TestCase;
 
+import org.apache.hive.common.util.HiveVersionInfo;
 import org.datanucleus.api.jdo.JDOPersistenceManager;
 import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
 import org.slf4j.Logger;
@@ -3265,6 +3266,11 @@ public abstract class TestHiveMetaStore extends TestCase 
{
     silentDropDatabase(dbName);
   }
 
+  @Test
+  public void testVersion() throws TException {
+    assertEquals(HiveVersionInfo.getVersion(), client.getServerVersion());
+  }
+
   private void checkDbOwnerType(String dbName, String ownerName, PrincipalType 
ownerType)
       throws NoSuchObjectException, MetaException, TException {
     Database db = client.getDatabase(dbName);
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
index 813b8aa..454b940 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
@@ -132,6 +132,7 @@ import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.util.ReflectionUtils;
 import org.apache.hadoop.util.StringUtils;
 import org.apache.hive.common.util.HiveStringUtils;
+import org.apache.hive.common.util.HiveVersionInfo;
 import org.apache.hive.common.util.ShutdownHookManager;
 import org.apache.thrift.TException;
 import org.apache.thrift.TProcessor;
@@ -3988,8 +3989,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
 
     @Override
     public String getVersion() throws TException {
-      endFunction(startFunction("getVersion"), true, null);
-      return "3.0";
+      String version = HiveVersionInfo.getVersion();
+      endFunction(startFunction("getVersion"), version != null, null);
+      return version;
     }
 
     @Override
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
index 83c2860..6dc198f 100644
--- 
a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
+++ 
b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
@@ -2567,4 +2567,9 @@ public class HiveMetaStoreClient implements 
IMetaStoreClient {
     CacheFileMetadataResult result = client.cache_file_metadata(req);
     return result.isIsSupported();
   }
+
+  @Override
+  public String getServerVersion() throws TException {
+    return client.getVersion();
+  }
 }
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
index a28c510..fb17187 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
@@ -1704,4 +1704,11 @@ public interface IMetaStoreClient {
 
   void addForeignKey(List<SQLForeignKey> foreignKeyCols) throws
   MetaException, NoSuchObjectException, TException;
+
+  /**
+   * Gets the version string of the metastore server which this client is 
connected to
+   *
+   * @return String representation of the version number of Metastore server 
(eg: 3.1.0-SNAPSHOT)
+   */
+  String getServerVersion() throws TException;
 }

Reply via email to