[ 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)