ASF GitHub Bot logged work on GOBBLIN-861:

                Author: ASF GitHub Bot
            Created on: 16/Aug/19 03:32
            Start Date: 16/Aug/19 03:32
    Worklog Time Spent: 10m 
      Work Description: sv2000 commented on pull request #2716: 
[GOBBLIN-861]Skip getPartition() call to Hive Metastore when a partition 
already e…
URL: https://github.com/apache/incubator-gobblin/pull/2716#discussion_r314571989

 File path: 
 @@ -472,26 +472,7 @@ private void addOrAlterPartition(IMetaStoreClient client, 
Table table, HiveParti
             table.getTableName(), nativePartition.getSd().getLocation()));
       } catch (TException e) {
         try {
-          HivePartition existingPartition;
-          try (Timer.Context context = 
this.metricContext.timer(GET_HIVE_PARTITION).time()) {
-            existingPartition = HiveMetaStoreUtils.getHivePartition(
-                client.getPartition(table.getDbName(), table.getTableName(), 
-          }
-          if (needToUpdatePartition(existingPartition, partition)) {
-            log.info(String.format("Partition update required. 
ExistingPartition %s, newPartition %s",
-                stringifyPartition(existingPartition), 
-            Partition newPartition = 
getPartitionWithCreateTime(nativePartition, existingPartition);
-            log.info(String.format("Altering partition %s", newPartition));
-            try (Timer.Context context = 
this.metricContext.timer(ALTER_PARTITION).time()) {
-              client.alter_partition(table.getDbName(), table.getTableName(), 
-            }
-            log.info(String.format("Updated partition %s in table %s with 
location %s", stringifyPartition(newPartition),
-                table.getTableName(), nativePartition.getSd().getLocation()));
-          } else {
-            log.info(String.format("Partition %s in table %s with location %s 
already exists and no need to update",
-                stringifyPartition(nativePartition), table.getTableName(), 
-          }
+          OnPartitionExist(client, table, partition, nativePartition, e);
 Review comment:
   we typically adopt the convention of having variable names and methods start 
with lower case. so onPartitionExists(...)?
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:

Issue Time Tracking

    Worklog Id:     (was: 296036)
    Time Spent: 1h 10m  (was: 1h)

> Skip getPartition() call to Hive Metastore when a partition already exists
> --------------------------------------------------------------------------
>                 Key: GOBBLIN-861
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-861
>             Project: Apache Gobblin
>          Issue Type: Task
>          Components: hive-registration
>            Reporter: Zihan Li
>            Assignee: Abhishek Tiwari
>            Priority: Major
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
> Currently, we compute a diff between the current partition and an already 
> registered partition when a partition has already been registered in Hive. 
> This is done by calling getPartition() on the Hive metastore client, which 
> can be expensive. Since no time-varying attributes are stored in a Hive 
> partition, diff computation (and getPartition() call) can be skipped when a 
> partition already exists.

This message was sent by Atlassian JIRA

Reply via email to