[ https://issues.apache.org/jira/browse/HIVE-22081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16907870#comment-16907870 ]
Peter Vary commented on HIVE-22081: ----------------------------------- [~Rajkumar Singh]: Mostly only nits, but having the same style for code is the first step to better code: * Please fix checkstyle errors * Every if should look like this (space before and after the parenthesis) {code:java} if (isCompactDisabled) {{code} * Let me backpedal on my previous ask, and set this back to INFO (as this was info before): {code:java} LOG.debug("Compaction is disabled for table " + tbl.getTableName());{code} * This should be private, since nobody uses is, and static since it does not use any member variables: {code:java} public boolean checkDynPartitioning(Table t, CompactionInfo ci){{code} * Please add spaces around + when concatenating strings: {code:java} LOG.error("Caught Exception while checking compactiton eligibility "+StringUtils.stringifyException(e));{code} Otherwise +1 LGTM > Hivemetastore Performance: Compaction Initiator Thread overwhelmed if there > are too many Table/partitions are eligible for compaction > -------------------------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-22081 > URL: https://issues.apache.org/jira/browse/HIVE-22081 > Project: Hive > Issue Type: Improvement > Components: Transactions > Affects Versions: 3.1.1 > Reporter: Rajkumar Singh > Assignee: Rajkumar Singh > Priority: Major > Attachments: HIVE-21917.01.patch, HIVE-21917.02.patch, > HIVE-22081.patch > > > if Automatic Compaction is turned on, Initiator thread check for potential > table/partitions which are eligible for compactions and run some checks in > for loop before requesting compaction for eligibles. Though initiator thread > is configured to run at interval 5 min default, in case of many objects it > keeps on running as these checks are IO intensive and hog cpu. > In the proposed changes, I am planning to do > 1. passing less object to for loop by filtering out the objects based on the > condition which we are checking within the loop. > 2. Doing Async call using future to determine compaction type(this is where > we do FileSystem calls) -- This message was sent by Atlassian JIRA (v7.6.14#76016)