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

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

                Author: ASF GitHub Bot
            Created on: 12/Jan/22 12:11
            Start Date: 12/Jan/22 12:11
    Worklog Time Spent: 10m 
      Work Description: abstractdog commented on a change in pull request #2771:
URL: https://github.com/apache/hive/pull/2771#discussion_r783006992



##########
File path: 
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreServerUtils.java
##########
@@ -499,6 +499,34 @@ public static void populateQuickStats(List<FileStatus> 
fileStatus, Map<String, S
     params.put(StatsSetupConst.NUM_ERASURE_CODED_FILES, 
Integer.toString(numErasureCodedFiles));
   }
 
+  public static void populateQuickStatsWithPrevStats(List<FileStatus> 
fileStatus, Map<String,String> params){

Review comment:
       this method has exactly the same logic as populateQuickStats except that 
in this case, initial integer values are set from parameters
   we should find a way to have the same logic written once: iteration on 
FileStatus + setting integers back to parameters, otherwise there is a chance 
that the two methods will diverge
   
   maybe the new method will fit for both cases, you just have to call 
clearQuickStats first when you don't want to use previous stats




-- 
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.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

    Worklog Id:     (was: 707437)
    Time Spent: 1h 40m  (was: 1.5h)

> Explore whether HiveAlterHandler::alterTable can be optimised for 
> non-partitioned tables
> ----------------------------------------------------------------------------------------
>
>                 Key: HIVE-24367
>                 URL: https://issues.apache.org/jira/browse/HIVE-24367
>             Project: Hive
>          Issue Type: Improvement
>          Components: HiveServer2
>            Reporter: Rajesh Balamohan
>            Assignee: Harshit Gupta
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> {color:#222222}Writing lots of delta in non-partitioned table creates runtime 
> issues, when lot of delta folders are present.{color}
> {color:#222222} {color}
> {color:#222222}Following code in HiveAlterHandler is invoked for every insert 
> operation. It computes {{{color}
> {color:#222222}updateTableStatsSlow}} for every insert causing runtime 
> delays.{color}
> {color:#222222} {color}
> {noformat}
> if (MetaStoreUtils.requireCalStats(null, null, newt, environmentContext) &&
>     !isPartitionedTable) {
>   Database db = msdb.getDatabase(catName, newDbName);
>   assert(isReplicated == HiveMetaStore.HMSHandler.isDbReplicationTarget(db));
>   // Update table stats. For partitioned table, we update stats in 
> alterPartition()
>   MetaStoreUtils.updateTableStatsSlow(db, newt, wh, false, true, 
> environmentContext);
> }
> {noformat}
> {color:#222222}It would be good to explore whether only the newly added delta 
> can be listed for computing stats. This would avoid huge listing call during 
> stats collection.{color}
> {color:#222222}e.g queries to repro{color}
> {noformat}
> CREATE TABLE IF NOT EXISTS test (name String, value int);
> INSERT INTO test VALUES('K1',1);
> INSERT INTO test VALUES('K2',2);
> ..
> ..
> ..
> INSERT INTO test VALUES('K20000',2)
>  {noformat}
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to