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

Reply via email to