You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pv...@apache.org on 2020/01/21 13:08:01 UTC

[hive] branch master updated: HIVE-22741: Speed up ObjectStore method getTableMeta (Zoltan Chovan via Peter Vary)

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

pvary pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new b408300  HIVE-22741: Speed up ObjectStore method getTableMeta (Zoltan Chovan via Peter Vary)
b408300 is described below

commit b408300a6a6cb3254f8dcc355ded2c487b51e2e8
Author: Zoltan Chovan <zc...@cloudera.com>
AuthorDate: Tue Jan 21 14:07:29 2020 +0100

    HIVE-22741: Speed up ObjectStore method getTableMeta (Zoltan Chovan via Peter Vary)
---
 .../java/org/apache/hadoop/hive/metastore/ObjectStore.java | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
index 40a5eb4..a1592cd 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
@@ -1545,13 +1545,15 @@ public class ObjectStore implements RawStore, Configurable {
       // performance of this function when called with dbNames="*" and tableNames="*" (fetch all
       // tables in all databases, essentially a full dump)
       pm.getFetchPlan().addGroup(FetchGroups.FETCH_DATABASE_ON_MTABLE);
-      query = pm.newQuery(MTable.class, filterBuilder.toString());
-      Collection<MTable> tables = (Collection<MTable>) query.executeWithArray(parameterVals.toArray(new String[0]));
-      for (MTable table : tables) {
-        TableMeta metaData = new TableMeta(
-            table.getDatabase().getName(), table.getTableName(), table.getTableType());
+      query = pm.newQuery(MTable.class, filterBuilder.toString()) ;
+      query.setResult("database.name, tableName, tableType, parameters.get(\"comment\")");
+      List<Object[]> tables = (List<Object[]>) query.executeWithArray(parameterVals.toArray(new String[0]));
+      for (Object[] table : tables) {
+        TableMeta metaData = new TableMeta(table[0].toString(), table[1].toString(), table[2].toString());
         metaData.setCatName(catName);
-        metaData.setComments(table.getParameters().get("comment"));
+        if (table[3] != null) {
+          metaData.setComments(table[3].toString());
+        }
         metas.add(metaData);
       }
       commited = commitTransaction();