[ https://issues.apache.org/jira/browse/HBASE-22739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16964508#comment-16964508 ]
Hudson commented on HBASE-22739: -------------------------------- Results for branch branch-2.2 [build #679 on builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/679/]: (x) *{color:red}-1 overall{color}* ---- details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/679//General_Nightly_Build_Report/] (/) {color:green}+1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/679//JDK8_Nightly_Build_Report_(Hadoop2)/] (x) {color:red}-1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/679//JDK8_Nightly_Build_Report_(Hadoop3)/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > ArrayIndexOutOfBoundsException when balance > ------------------------------------------- > > Key: HBASE-22739 > URL: https://issues.apache.org/jira/browse/HBASE-22739 > Project: HBase > Issue Type: Bug > Components: Balancer > Reporter: casuallc > Assignee: Lijin Bin > Priority: Major > Fix For: 3.0.0, 2.3.0, 2.1.8, 2.2.3 > > > > {code:java} > 2019-07-25 15:19:59,828 ERROR [master/nna:16000.Chore.1] > hbase.ScheduledChore: Caught error > java.lang.ArrayIndexOutOfBoundsException: 3171 > at > org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer$Cluster.removeRegion(BaseLoadBalancer.java:873) > at > org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer$Cluster.doAction(BaseLoadBalancer.java:716) > at > org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer.balanceCluster(StochasticLoadBalancer.java:407) > at > org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer.balanceCluster(StochasticLoadBalancer.java:318) > at org.apache.hadoop.hbase.master.HMaster.balance(HMaster.java:1650) > at org.apache.hadoop.hbase.master.HMaster.balance(HMaster.java:1567) > at > org.apache.hadoop.hbase.master.balancer.BalancerChore.chore(BalancerChore.java:49) > at org.apache.hadoop.hbase.ScheduledChore.run(ScheduledChore.java:186) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) > at > org.apache.hadoop.hbase.JitterScheduledThreadPoolExecutorImpl$JitteredRunnableScheduledFuture.run(JitterScheduledThreadPoolExecutorImpl.java:111) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {code} > should check if the regionIndex is valid when removeRegion, > java: > hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java > {code:java} > int[] removeRegion(int[] regions, int regionIndex) { > //TODO: this maybe costly. Consider using linked lists > int[] newRegions = new int[regions.length - 1]; > int i = 0; > for (i = 0; i < regions.length; i++) { > if (regions[i] == regionIndex) { > break; > } > if (i == regions.length - 1) { > return Arrays.copyOf(regions, regions.length); > } > newRegions[i] = regions[i]; > } > System.arraycopy(regions, i+1, newRegions, i, newRegions.length - i); > return newRegions; > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)