[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-05 Thread Hudson (JIRA)

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

Hudson commented on HBASE-15058:


SUCCESS: Integrated in HBase-1.3 #480 (See 
[https://builds.apache.org/job/HBase-1.3/480/])
HBASE-15058 AssignmentManager should account for unsuccessful split (tedyu: rev 
407cda4a0c4bc1338af175299372a4b1976bb44a)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java


> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 1.3.0, 1.2.1
>
> Attachments: 15058-branch-1-v1.txt, 15058-branch-1-v2.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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


[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-05 Thread Hudson (JIRA)

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

Hudson commented on HBASE-15058:


SUCCESS: Integrated in HBase-1.2 #489 (See 
[https://builds.apache.org/job/HBase-1.2/489/])
HBASE-15058 AssignmentManager should account for unsuccessful split (tedyu: rev 
1fab320d52ac6d0ffcf92fe30a804e8f67c710db)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java


> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 1.3.0, 1.2.1
>
> Attachments: 15058-branch-1-v1.txt, 15058-branch-1-v2.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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


[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-05 Thread Hudson (JIRA)

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

Hudson commented on HBASE-15058:


SUCCESS: Integrated in HBase-1.2-IT #378 (See 
[https://builds.apache.org/job/HBase-1.2-IT/378/])
HBASE-15058 AssignmentManager should account for unsuccessful split (tedyu: rev 
1fab320d52ac6d0ffcf92fe30a804e8f67c710db)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java


> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 1.3.0, 1.2.1
>
> Attachments: 15058-branch-1-v1.txt, 15058-branch-1-v2.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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


[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-05 Thread Hudson (JIRA)

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

Hudson commented on HBASE-15058:


SUCCESS: Integrated in HBase-1.3-IT #420 (See 
[https://builds.apache.org/job/HBase-1.3-IT/420/])
HBASE-15058 AssignmentManager should account for unsuccessful split (tedyu: rev 
407cda4a0c4bc1338af175299372a4b1976bb44a)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java


> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 1.3.0, 1.2.1
>
> Attachments: 15058-branch-1-v1.txt, 15058-branch-1-v2.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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


[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-04 Thread Heng Chen (JIRA)

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

Heng Chen commented on HBASE-15058:
---

Thanks [~anoop.hbase],  you are right.

> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 1.3.0, 1.2.1
>
> Attachments: 15058-branch-1-v1.txt, 15058-branch-1-v2.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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


[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-04 Thread Ashish Singhi (JIRA)

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

Ashish Singhi commented on HBASE-15058:
---

{quote}
Should we need to do the same thing to merge process?
 I notice the quota info updated when state is MERGE_REVERTED, i think it 
should be done when state is READY_TO_MERGE like split process, and it also 
need revert when failed. wdyt?
{quote}
No, it is not required.
Quota information is updated only on successful merge.
{code}
  if (code == TransitionCode.MERGED && 
org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
try {
  regionStateListener.onRegionMerged(hri);
} catch (IOException exp) {
  errorMsg = StringUtils.stringifyException(exp);
}
  }
{code}

> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 1.3.0, 1.2.1
>
> Attachments: 15058-branch-1-v1.txt, 15058-branch-1-v2.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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


[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-04 Thread Heng Chen (JIRA)

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

Heng Chen commented on HBASE-15058:
---

LGTM.
One question:
Should we need to do the same thing to merge process?
I notice the quota info updated when state is MERGE_REVERTED,  i think it 
should be done when state is READY_TO_MERGE like split process, and it also 
need revert when failed. wdyt?

> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 1.3.0, 1.2.1
>
> Attachments: 15058-branch-1-v1.txt, 15058-branch-1-v2.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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


[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-04 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-15058:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12780330/15058-branch-1-v2.txt
  against branch-1 branch at commit 00656688f73c85ea9e6f5241ac852f72e774eeea.
  ATTACHMENT ID: 12780330

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
Please justify why no new tests are needed for this 
patch.
Also please list what manual steps were performed to 
verify this patch.

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 
2.7.1)

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}. The applied patch does not generate new 
checkstyle errors.

{color:green}+1 findbugs{color}.  The patch does not introduce any  new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

{color:green}+1 site{color}.  The mvn post-site goal succeeds with this 
patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

{color:green}+1 zombies{color}. No zombie tests found running at the end of 
the build.

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17110//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17110//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17110//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17110//console

This message is automatically generated.

> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15058-branch-1-v1.txt, 15058-branch-1-v2.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {

[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2016-01-03 Thread Ashish Singhi (JIRA)

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

Ashish Singhi commented on HBASE-15058:
---

Overall lgtm.
{code}
private String onRegionSplitReverted(ServerName sn, TransitionCode code,
  final HRegionInfo p, final HRegionInfo a, final HRegionInfo b) {
{code}
{{code}} parameter is not used in the method. Can be removed.

{code}
final RegionState rs_p = regionStates.getRegionState(p);
RegionState rs_a = regionStates.getRegionState(a);
RegionState rs_b = regionStates.getRegionState(b);
if (!(rs_p.isOpenOrSplittingOnServer(sn)
&& (rs_a == null || rs_a.isOpenOrSplittingNewOnServer(sn))
&& (rs_b == null || rs_b.isOpenOrSplittingNewOnServer(sn {
  return "Not in state good for split";
{code}
Minor suggestion, can we extract it to a method, same lines of code is used in 
the {{onRegionSplit}} method.

It will be good if we can add a unit test case for this.

> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15058-branch-1-v1.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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


[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2015-12-31 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-15058:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12780162/15058-branch-1-v1.txt
  against branch-1 branch at commit 92abf8ac5743849d4c32d6abf8fd33f161bab249.
  ATTACHMENT ID: 12780162

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
Please justify why no new tests are needed for this 
patch.
Also please list what manual steps were performed to 
verify this patch.

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 
2.7.1)

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}. The applied patch does not generate new 
checkstyle errors.

{color:green}+1 findbugs{color}.  The patch does not introduce any  new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

{color:green}+1 site{color}.  The mvn post-site goal succeeds with this 
patch.

{color:red}-1 core tests{color}.  The patch failed these unit tests:
   org.apache.hadoop.hbase.client.TestShell

{color:green}+1 zombies{color}. No zombie tests found running at the end of 
the build.

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17096//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17096//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17096//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17096//console

This message is automatically generated.

> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15058-branch-1-v1.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringU

[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2015-12-31 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-15058:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12780135/15058-branch-1-v1.txt
  against branch-1 branch at commit 92abf8ac5743849d4c32d6abf8fd33f161bab249.
  ATTACHMENT ID: 12780135

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
Please justify why no new tests are needed for this 
patch.
Also please list what manual steps were performed to 
verify this patch.

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 
2.7.1)

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}. The applied patch does not generate new 
checkstyle errors.

{color:green}+1 findbugs{color}.  The patch does not introduce any  new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

{color:green}+1 site{color}.  The mvn post-site goal succeeds with this 
patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

{color:green}+1 zombies{color}. No zombie tests found running at the end of 
the build.

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17095//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17095//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17095//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17095//console

This message is automatically generated.

> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15058-branch-1-v1.txt
>
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following TransitionCode's 
> is not clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStat

[jira] [Commented] (HBASE-15058) AssignmentManager should account for unsuccessful split correctly which initially passes quota check

2015-12-31 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-15058:


Turns out that I was looking at branch-1 code.

Modified description to be specific.

> AssignmentManager should account for unsuccessful split correctly which 
> initially passes quota check
> 
>
> Key: HBASE-15058
> URL: https://issues.apache.org/jira/browse/HBASE-15058
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2: 
> testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster, 
> z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,z,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently in branch-1, the distinction among the following states is not 
> clear in AssignmentManager#onRegionTransition():
> {code}
> case SPLIT_PONR:
> case SPLIT:
> case SPLIT_REVERTED:
>   errorMsg =
>   onRegionSplit(serverName, code, hri, 
> HRegionInfo.convert(transition.getRegionInfo(1)),
> HRegionInfo.convert(transition.getRegionInfo(2)));
>   if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
> try {
>   regionStateListener.onRegionSplitReverted(hri);
> {code}
> onRegionSplit() handles the above 3 TransitionCode's. However, errorMsg is 
> normally null (onRegionSplit returns null at the end).
> This would result in onRegionSplitReverted() being called for cases of 
> SPLIT_PONR and SPLIT.
> When region split fails, AssignmentManager#onRegionTransition() should 
> account for the failure properly so that quota bookkeeping is consistent.



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