[
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
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)