[ 
https://issues.apache.org/jira/browse/HBASE-12030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14145013#comment-14145013
 ] 

Matteo Bertozzi commented on HBASE-12030:
-----------------------------------------

looks ok to me, 
it will be nice having a test to cover the path when zk throws an exception.. 
maybe the easiest way there is mocking zk?

> Wrong compaction report and assert when MOB compaction switches to minor
> ------------------------------------------------------------------------
>
>                 Key: HBASE-12030
>                 URL: https://issues.apache.org/jira/browse/HBASE-12030
>             Project: HBase
>          Issue Type: Bug
>          Components: Compaction, regionserver
>    Affects Versions: hbase-11339
>            Reporter: Matteo Bertozzi
>            Priority: Critical
>             Fix For: hbase-11339
>
>         Attachments: HBASE-12030.patch
>
>
> when zookeeper is down during a major compaction or a sweep tool run in 
> progress, we switch to a minor.
> {code}
> try {
>   zk = MobZookeeper.newInstance(this.conf, compactionName);
> } catch (KeeperException e) {
>   LOG.error("Cannot connect to the zookeeper, ready to perform the minor 
> compaction instead", e);
>   // change the major compaction into a minor one
>   compaction.getRequest().setIsMajor(false);
>   return super.compact(compaction);
> }
> {code}
> but the "request start" (HRegion.reportCompactionRequestStart) is "major" and 
> increments the major-compactions counter
> while the "request end" (HRegion.reportCompactionRequestEnd) is "minor" and 
> decrements the minor-compactions counter
> triggering the assert newValue >= 0, since we are decrementing the wrong 
> counter



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to