You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/06/09 15:54:01 UTC

[jira] [Work logged] (HIVE-23266) Remove QueryWrapper from ObjectStore

     [ https://issues.apache.org/jira/browse/HIVE-23266?focusedWorklogId=442746&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-442746 ]

ASF GitHub Bot logged work on HIVE-23266:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 09/Jun/20 15:53
            Start Date: 09/Jun/20 15:53
    Worklog Time Spent: 10m 
      Work Description: belugabehr commented on a change in pull request #1078:
URL: https://github.com/apache/hive/pull/1078#discussion_r437458416



##########
File path: standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/VerifyingObjectStore.java
##########
@@ -93,9 +93,11 @@ public boolean getPartitionsByExpr(String catName, String dbName, String tblName
   @Override
   public List<Partition> getPartitions(
       String catName, String dbName, String tableName, int maxParts) throws MetaException, NoSuchObjectException {
+    openTransaction();
     List<Partition> sqlResults = getPartitionsInternal(catName, dbName, tableName, maxParts, true, false);
     List<Partition> ormResults = getPartitionsInternal(catName, dbName, tableName, maxParts, false, true);
     verifyLists(sqlResults, ormResults, Partition.class);
+    commitTransaction();

Review comment:
       This is a test class.  If things become unbalanced here it doesn't really matter because the test will fail from Exception anyway.

##########
File path: standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
##########
@@ -7109,22 +7121,37 @@ protected String describeResult() {
   }
 
   @Override
-  public List<HiveObjectPrivilege> listPrincipalDBGrantsAll(
-      String principalName, PrincipalType principalType) {
-    try (QueryWrapper queryWrapper = new QueryWrapper()) {
-      return convertDB(listPrincipalAllDBGrant(principalName, principalType, queryWrapper));
+  public List<HiveObjectPrivilege> listPrincipalDBGrantsAll(String principalName, PrincipalType principalType) {
+    List<HiveObjectPrivilege> results = Collections.emptyList();
+    try {
+      openTransaction();
+      results = convertDB(listPrincipalAllDBGrant(principalName, principalType));
+      commitTransaction();
+    } catch (Exception e) {
+      throw new RuntimeException(e);
+    } finally {
+      rollbackAndCleanup(true, null);
     }
+    return results;
   }
 
   @Override
   public List<HiveObjectPrivilege> listDBGrantsAll(String catName, String dbName) {
-    return listDBGrantsAll(catName, dbName, null);
+    List<HiveObjectPrivilege> results = Collections.emptyList();
+    try {
+      openTransaction();
+      results = listDBGrantsAll(catName, dbName, null);
+      commitTransaction();
+    } catch (Exception e) {
+      throw new RuntimeException(e);
+    } finally {
+      rollbackAndCleanup(true, null);

Review comment:
       I'm sorry?

##########
File path: standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
##########
@@ -7109,22 +7121,37 @@ protected String describeResult() {
   }
 
   @Override
-  public List<HiveObjectPrivilege> listPrincipalDBGrantsAll(
-      String principalName, PrincipalType principalType) {
-    try (QueryWrapper queryWrapper = new QueryWrapper()) {
-      return convertDB(listPrincipalAllDBGrant(principalName, principalType, queryWrapper));
+  public List<HiveObjectPrivilege> listPrincipalDBGrantsAll(String principalName, PrincipalType principalType) {
+    List<HiveObjectPrivilege> results = Collections.emptyList();
+    try {
+      openTransaction();
+      results = convertDB(listPrincipalAllDBGrant(principalName, principalType));
+      commitTransaction();
+    } catch (Exception e) {
+      throw new RuntimeException(e);
+    } finally {
+      rollbackAndCleanup(true, null);

Review comment:
       Why is that? 




----------------------------------------------------------------
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:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 442746)
    Remaining Estimate: 0h
            Time Spent: 10m

> Remove QueryWrapper from ObjectStore
> ------------------------------------
>
>                 Key: HIVE-23266
>                 URL: https://issues.apache.org/jira/browse/HIVE-23266
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: David Mollitor
>            Assignee: David Mollitor
>            Priority: Major
>         Attachments: HIVE-23266.1.patch, HIVE-23266.10.patch, HIVE-23266.11.patch, HIVE-23266.2.patch, HIVE-23266.2.patch, HIVE-23266.3.patch, HIVE-23266.4.patch, HIVE-23266.5.patch, HIVE-23266.6.patch, HIVE-23266.7.patch, HIVE-23266.8.patch, HIVE-23266.9.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> There is currently a utility called {{QueryWrapper}} that makes a normal {{Query}} auto-closable.  However, {{Query}} is now in fact already auto-closing, so there is no need for this class.  In trying to remove it, I realized that this wrapper was being passed around in pretty convoluted ways and also it was sometimes being created in a {{try-with-resources}} block but then never actually used in any way.
> Remove the {{QueryWrapper}} from the class and simplify some of the DB interactions.
> https://github.com/apache/hive/blob/master/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java#L178



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