[ https://issues.apache.org/jira/browse/HBASE-7791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13583873#comment-13583873 ]
ramkrishna.s.vasudevan commented on HBASE-7791: ----------------------------------------------- Ok. Went thro the flow. In the case where blocking store files are one less than actual store files then the priority becomes USER_PRIORITY. bq.reduce (logically) by one. It should be increase by one? But if really a compaction is USER requested then what is the priority. And even in that case we increase the priority? > Compaction USER_PRIORITY is slightly broken > ------------------------------------------- > > Key: HBASE-7791 > URL: https://issues.apache.org/jira/browse/HBASE-7791 > Project: HBase > Issue Type: Bug > Components: Compaction > Reporter: Sergey Shelukhin > Assignee: Sergey Shelukhin > Priority: Minor > Attachments: HBASE-7791-v0.patch > > > The code to get compaction priority is as such: > {code} public int getCompactPriority(int priority) { > // If this is a user-requested compaction, leave this at the highest > priority > if(priority == Store.PRIORITY_USER) { > return Store.PRIORITY_USER; > } else { > return this.blockingStoreFileCount - this.storefiles.size(); > } > } > {code}. > PRIORITY_USER is 1. > The priorities are compared as numbers in HRegion, so compactions of blocking > stores will override user priority (probably intended); also, if you have > blockingFiles minus one, your priority is suddenly PRIORITY_USER, which may > cause at least this: > LOG.debug("Warning, compacting more than " + > comConf.getMaxFilesToCompact() + > " files because of a user-requested major compaction"); > as well as some misleading logging. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira