[ https://issues.apache.org/jira/browse/HIVE-24974?focusedWorklogId=581828&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-581828 ]
ASF GitHub Bot logged work on HIVE-24974: ----------------------------------------- Author: ASF GitHub Bot Created on: 13/Apr/21 14:54 Start Date: 13/Apr/21 14:54 Worklog Time Spent: 10m Work Description: klcopp commented on a change in pull request #2148: URL: https://github.com/apache/hive/pull/2148#discussion_r612517973 ########## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ########## @@ -3002,6 +3002,22 @@ private static void populateLlapDaemonVarsSet(Set<String> llapDaemonVarsSetLocal HIVE_TXN_READONLY_ENABLED("hive.txn.readonly.enabled", false, "Enables read-only transaction classification and related optimizations"), + HIVE_TXN_ACID_METRICS_MAX_CACHE_SIZE("hive.txn.acid.metrics.max.cache.size", 100, + "Size of the ACID metrics cache. Only topN metrics would remain in the cache if exceeded."), + HIVE_TXN_ACID_METRICS_CACHE_DURATION("hive.txn.acid.metrics.cache.duration", "7200s", + new TimeValidator(TimeUnit.SECONDS), + "Maximum lifetime in seconds for an entry in the ACID metrics cache."), + HIVE_TXN_ACID_METRICS_REPORTING_INTERVAL("hive.txn.acid.metrics.reporting.interval", "30s", + new TimeValidator(TimeUnit.SECONDS), + "Reporting period for ACID metrics in seconds."), + HIVE_TXN_ACID_METRICS_DELTA_NUM_THRESHOLD("hive.txn.acid.metrics.delta.num.threshold", 100, + "Threshold for the number of delta files to include in the ACID metrics report."), + HIVE_TXN_ACID_METRICS_OBSOLETE_DELTA_NUM_THRESHOLD("hive.txn.acid.metrics.obsolete.delta.num.threshold", 100, Review comment: Similar to above ########## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ########## @@ -3002,6 +3002,22 @@ private static void populateLlapDaemonVarsSet(Set<String> llapDaemonVarsSetLocal HIVE_TXN_READONLY_ENABLED("hive.txn.readonly.enabled", false, "Enables read-only transaction classification and related optimizations"), + HIVE_TXN_ACID_METRICS_MAX_CACHE_SIZE("hive.txn.acid.metrics.max.cache.size", 100, + "Size of the ACID metrics cache. Only topN metrics would remain in the cache if exceeded."), + HIVE_TXN_ACID_METRICS_CACHE_DURATION("hive.txn.acid.metrics.cache.duration", "7200s", + new TimeValidator(TimeUnit.SECONDS), + "Maximum lifetime in seconds for an entry in the ACID metrics cache."), + HIVE_TXN_ACID_METRICS_REPORTING_INTERVAL("hive.txn.acid.metrics.reporting.interval", "30s", + new TimeValidator(TimeUnit.SECONDS), + "Reporting period for ACID metrics in seconds."), + HIVE_TXN_ACID_METRICS_DELTA_NUM_THRESHOLD("hive.txn.acid.metrics.delta.num.threshold", 100, Review comment: Isn't this: the minimum number of active delta files a table/partition must have to be included in the report ########## File path: ql/src/test/org/apache/hadoop/hive/ql/txn/compactor/TestCompactionMetrics.java ########## @@ -43,17 +44,18 @@ import org.apache.hadoop.hive.metastore.metrics.Metrics; import org.apache.hadoop.hive.metastore.metrics.MetricsConstants; import org.apache.hadoop.hive.metastore.txn.TxnStore; +import org.apache.hadoop.hive.ql.txn.compactor.metrics.DeltaFilesMetricReporter; +import org.apache.tez.common.counters.TezCounters; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Objects; +import java.util.*; Review comment: I think it's not recommended to import all classes in the package ########## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ########## @@ -3002,6 +3002,22 @@ private static void populateLlapDaemonVarsSet(Set<String> llapDaemonVarsSetLocal HIVE_TXN_READONLY_ENABLED("hive.txn.readonly.enabled", false, "Enables read-only transaction classification and related optimizations"), Review comment: Here I would add a comment like: Configs having to do with DeltaFilesMetricReporter, which collects lists of most recently active tables with the most number of active/obsolete deltas. ########## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ########## @@ -3002,6 +3002,22 @@ private static void populateLlapDaemonVarsSet(Set<String> llapDaemonVarsSetLocal HIVE_TXN_READONLY_ENABLED("hive.txn.readonly.enabled", false, "Enables read-only transaction classification and related optimizations"), + HIVE_TXN_ACID_METRICS_MAX_CACHE_SIZE("hive.txn.acid.metrics.max.cache.size", 100, + "Size of the ACID metrics cache. Only topN metrics would remain in the cache if exceeded."), + HIVE_TXN_ACID_METRICS_CACHE_DURATION("hive.txn.acid.metrics.cache.duration", "7200s", + new TimeValidator(TimeUnit.SECONDS), + "Maximum lifetime in seconds for an entry in the ACID metrics cache."), + HIVE_TXN_ACID_METRICS_REPORTING_INTERVAL("hive.txn.acid.metrics.reporting.interval", "30s", + new TimeValidator(TimeUnit.SECONDS), + "Reporting period for ACID metrics in seconds."), + HIVE_TXN_ACID_METRICS_DELTA_NUM_THRESHOLD("hive.txn.acid.metrics.delta.num.threshold", 100, + "Threshold for the number of delta files to include in the ACID metrics report."), + HIVE_TXN_ACID_METRICS_OBSOLETE_DELTA_NUM_THRESHOLD("hive.txn.acid.metrics.obsolete.delta.num.threshold", 100, + "Threshold for the number of obsolete delta files to include in the ACID metrics report."), + HIVE_TXN_ACID_METRICS_DELTA_CHECK_THRESHOLD("hive.txn.acid.metrics.delta.check.threshold", "300s", Review comment: I think this is clearer: Deltas older than this value will not be included ... -- 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: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 581828) Time Spent: 40m (was: 0.5h) > Create new metrics about the number of delta files in the ACID table > -------------------------------------------------------------------- > > Key: HIVE-24974 > URL: https://issues.apache.org/jira/browse/HIVE-24974 > Project: Hive > Issue Type: Sub-task > Reporter: Denys Kuzmenko > Assignee: Denys Kuzmenko > Priority: Major > Labels: pull-request-available > Time Spent: 40m > Remaining Estimate: 0h > > 2 metrics should be collected by each table/partition that exceeds some limit. > * Number of used deltas > * Number of obsolete deltas > Both of them should be collected in AcidUtils.getAcidstate call, and only be > published if they reached a configurable threshold (to not pollute metrics) -- This message was sent by Atlassian Jira (v8.3.4#803005)