[ https://issues.apache.org/jira/browse/HIVE-24805?focusedWorklogId=707385&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-707385 ]
ASF GitHub Bot logged work on HIVE-24805: ----------------------------------------- Author: ASF GitHub Bot Created on: 12/Jan/22 10:16 Start Date: 12/Jan/22 10:16 Worklog Time Spent: 10m Work Description: asinkovits commented on a change in pull request #2906: URL: https://github.com/apache/hive/pull/2906#discussion_r782918861 ########## File path: ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java ########## @@ -164,7 +164,7 @@ public void run() { for (CompactionInfo ci : potentials) { try { - Table t = resolveTable(ci); + Table t = resolveTableAndCache(ci); Review comment: I'm fine changing it to the suggested approach, just want to understand the reasoning behind it. I do have concerns introducing a hash map, as we have less control over the memory pressure. Table objects are moderately large, and as you mentioned there can be large clusters with numerous tables. I was using softValues, so the cache can be cleared by the garbage collector in response to memory demand. As for no 2, do you see some use case where the current approach doesn't address the observed issue? -- 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: 707385) Time Spent: 2.5h (was: 2h 20m) > Compactor: Initiator shouldn't fetch table details again and again for > partitioned tables > ----------------------------------------------------------------------------------------- > > Key: HIVE-24805 > URL: https://issues.apache.org/jira/browse/HIVE-24805 > Project: Hive > Issue Type: Improvement > Components: Transactions > Reporter: Rajesh Balamohan > Assignee: Antal Sinkovits > Priority: Major > Labels: pull-request-available > Time Spent: 2.5h > Remaining Estimate: 0h > > Initiator shouldn't be fetch table details for all its partitions. When there > are large number of databases/tables, it takes lot of time for Initiator to > complete its initial iteration and load on DB also goes higher. > https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java#L129 > https://github.com/apache/hive/blob/64bb52316f19426ebea0087ee15e282cbde1d852/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java#L456 > For all the following partitions, table details would be the same. However, > it ends up fetching table details from HMS again and again. > {noformat} > 2021-02-22 08:13:16,106 INFO > org.apache.hadoop.hive.ql.txn.compactor.Initiator: [Thread-11]: Checking to > see if we should compact > tpcds_bin_partitioned_orc_1000.store_returns_tmp2.sr_returned_date_sk=2451899 > 2021-02-22 08:13:16,124 INFO > org.apache.hadoop.hive.ql.txn.compactor.Initiator: [Thread-11]: Checking to > see if we should compact > tpcds_bin_partitioned_orc_1000.store_returns_tmp2.sr_returned_date_sk=2451830 > 2021-02-22 08:13:16,140 INFO > org.apache.hadoop.hive.ql.txn.compactor.Initiator: [Thread-11]: Checking to > see if we should compact > tpcds_bin_partitioned_orc_1000.store_returns_tmp2.sr_returned_date_sk=2452586 > 2021-02-22 08:13:16,149 INFO > org.apache.hadoop.hive.ql.txn.compactor.Initiator: [Thread-11]: Checking to > see if we should compact > tpcds_bin_partitioned_orc_1000.store_returns_tmp2.sr_returned_date_sk=2452698 > 2021-02-22 08:13:16,158 INFO > org.apache.hadoop.hive.ql.txn.compactor.Initiator: [Thread-11]: Checking to > see if we should compact > tpcds_bin_partitioned_orc_1000.store_returns_tmp2.sr_returned_date_sk=2452063 > {noformat} -- This message was sent by Atlassian Jira (v8.20.1#820001)