[17/50] [abbrv] hbase git commit: HBASE-16810 HBase Balancer throws ArrayIndexOutOfBoundsException when regionservers are in /hbase/draining znode and unloaded (David Pope)

2016-11-01 Thread larsh
HBASE-16810 HBase Balancer throws ArrayIndexOutOfBoundsException when 
regionservers are in /hbase/draining znode and unloaded (David Pope)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ca581874
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ca581874
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ca581874

Branch: refs/heads/branch-1
Commit: ca581874b9d39cef5d8f142f25ab77fbdef98237
Parents: 27398ea
Author: tedyu 
Authored: Thu Oct 13 08:42:49 2016 -0700
Committer: tedyu 
Committed: Thu Oct 13 08:42:49 2016 -0700

--
 .../master/balancer/StochasticLoadBalancer.java |   3 +-
 .../hbase/master/MockNoopMasterServices.java| 292 +++
 .../hbase/master/balancer/BalancerTestBase.java |  80 +
 .../balancer/TestStochasticLoadBalancer.java|  16 +
 4 files changed, 389 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/ca581874/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
index 181990b..d497d42 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
@@ -42,7 +42,6 @@ import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.master.MasterServices;
 import org.apache.hadoop.hbase.master.RegionPlan;
-import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster;
 import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Action;
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Action.Type;
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.AssignRegionAction;
@@ -1238,7 +1237,7 @@ public class StochasticLoadBalancer extends 
BaseLoadBalancer {
 if (index < 0) {
   cost += 1;
 } else {
-  cost += (1 - cluster.getLocalityOfRegion(i, index));
+  cost += (1 - cluster.getLocalityOfRegion(i, serverIndex));
 }
   }
   return scale(0, max, cost);

http://git-wip-us.apache.org/repos/asf/hbase/blob/ca581874/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
new file mode 100644
index 000..657d8e2
--- /dev/null
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
@@ -0,0 +1,292 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master;
+
+import com.google.protobuf.Service;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.*;
+import org.apache.hadoop.hbase.client.ClusterConnection;
+import org.apache.hadoop.hbase.executor.ExecutorService;
+import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
+import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
+import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
+import org.apache.hadoop.hbase.quotas.MasterQuotaManager;
+import org.apache.hadoop.hbase.security.User;
+import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
+import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
+
+import java.io.IOException;
+import java.util.List;
+
+public class MockNoopMasterServices implements MasterServices, Server {
+  @Override
+  public SnapshotManager 

hbase git commit: HBASE-16810 HBase Balancer throws ArrayIndexOutOfBoundsException when regionservers are in /hbase/draining znode and unloaded (David Pope)

2016-10-13 Thread tedyu
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 e3ded33a5 -> 28aaa49c6


HBASE-16810 HBase Balancer throws ArrayIndexOutOfBoundsException when 
regionservers are in /hbase/draining znode and unloaded (David Pope)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/28aaa49c
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/28aaa49c
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/28aaa49c

Branch: refs/heads/branch-1.3
Commit: 28aaa49c6e39ceba96ebbf26aa400a9852ebdfe6
Parents: e3ded33
Author: tedyu 
Authored: Thu Oct 13 10:49:58 2016 -0700
Committer: tedyu 
Committed: Thu Oct 13 10:49:58 2016 -0700

--
 .../master/balancer/StochasticLoadBalancer.java |   2 +-
 .../hbase/master/MockNoopMasterServices.java| 281 +++
 .../hbase/master/balancer/BalancerTestBase.java |  80 ++
 .../balancer/TestStochasticLoadBalancer.java|  16 ++
 4 files changed, 378 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/28aaa49c/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
index ab075db..9476531 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
@@ -1183,7 +1183,7 @@ public class StochasticLoadBalancer extends 
BaseLoadBalancer {
 if (index < 0) {
   cost += 1;
 } else {
-  cost += (1 - cluster.getLocalityOfRegion(i, index));
+  cost += (1 - cluster.getLocalityOfRegion(i, serverIndex));
 }
   }
   return scale(0, max, cost);

http://git-wip-us.apache.org/repos/asf/hbase/blob/28aaa49c/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
new file mode 100644
index 000..034e3a1
--- /dev/null
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
@@ -0,0 +1,281 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master;
+
+import com.google.protobuf.Service;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.*;
+import org.apache.hadoop.hbase.client.ClusterConnection;
+import org.apache.hadoop.hbase.executor.ExecutorService;
+import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
+import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
+import org.apache.hadoop.hbase.quotas.MasterQuotaManager;
+import org.apache.hadoop.hbase.security.User;
+import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
+import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
+
+import java.io.IOException;
+import java.util.List;
+
+public class MockNoopMasterServices implements MasterServices, Server {
+  @Override
+  public SnapshotManager getSnapshotManager() {
+return null;
+  }
+
+  @Override
+  public AssignmentManager getAssignmentManager() {
+return null;
+  }
+
+  @Override
+  public MasterFileSystem getMasterFileSystem() {
+return null;
+  }
+
+  @Override
+  public ServerManager getServerManager() {
+return null;
+  }
+
+  @Override
+  public ExecutorService getExecutorService() {
+return null;
+  }
+
+  @Override
+  public TableLockManager getTableLockManager() {
+return null;
+  }
+
+  @Override
+  public MasterCoprocessorHost 

hbase git commit: HBASE-16810 HBase Balancer throws ArrayIndexOutOfBoundsException when regionservers are in /hbase/draining znode and unloaded (David Pope)

2016-10-13 Thread tedyu
Repository: hbase
Updated Branches:
  refs/heads/branch-1 27398ea52 -> ca581874b


HBASE-16810 HBase Balancer throws ArrayIndexOutOfBoundsException when 
regionservers are in /hbase/draining znode and unloaded (David Pope)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ca581874
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ca581874
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ca581874

Branch: refs/heads/branch-1
Commit: ca581874b9d39cef5d8f142f25ab77fbdef98237
Parents: 27398ea
Author: tedyu 
Authored: Thu Oct 13 08:42:49 2016 -0700
Committer: tedyu 
Committed: Thu Oct 13 08:42:49 2016 -0700

--
 .../master/balancer/StochasticLoadBalancer.java |   3 +-
 .../hbase/master/MockNoopMasterServices.java| 292 +++
 .../hbase/master/balancer/BalancerTestBase.java |  80 +
 .../balancer/TestStochasticLoadBalancer.java|  16 +
 4 files changed, 389 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/ca581874/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
index 181990b..d497d42 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
@@ -42,7 +42,6 @@ import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.master.MasterServices;
 import org.apache.hadoop.hbase.master.RegionPlan;
-import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster;
 import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Action;
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Action.Type;
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.AssignRegionAction;
@@ -1238,7 +1237,7 @@ public class StochasticLoadBalancer extends 
BaseLoadBalancer {
 if (index < 0) {
   cost += 1;
 } else {
-  cost += (1 - cluster.getLocalityOfRegion(i, index));
+  cost += (1 - cluster.getLocalityOfRegion(i, serverIndex));
 }
   }
   return scale(0, max, cost);

http://git-wip-us.apache.org/repos/asf/hbase/blob/ca581874/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
new file mode 100644
index 000..657d8e2
--- /dev/null
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
@@ -0,0 +1,292 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master;
+
+import com.google.protobuf.Service;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.*;
+import org.apache.hadoop.hbase.client.ClusterConnection;
+import org.apache.hadoop.hbase.executor.ExecutorService;
+import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
+import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
+import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
+import org.apache.hadoop.hbase.quotas.MasterQuotaManager;
+import org.apache.hadoop.hbase.security.User;
+import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
+import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
+
+import java.io.IOException;
+import java.util.List;
+
+public class 

hbase git commit: HBASE-16810 HBase Balancer throws ArrayIndexOutOfBoundsException when regionservers are in /hbase/draining znode and unloaded (David Pope)

2016-10-12 Thread tedyu
Repository: hbase
Updated Branches:
  refs/heads/master b8173a548 -> f4bdab8ba


HBASE-16810 HBase Balancer throws ArrayIndexOutOfBoundsException when 
regionservers are in /hbase/draining znode and unloaded (David Pope)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f4bdab8b
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f4bdab8b
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f4bdab8b

Branch: refs/heads/master
Commit: f4bdab8bace03c036ba0fe893cbd357b2e2f0526
Parents: b8173a5
Author: tedyu 
Authored: Wed Oct 12 13:23:06 2016 -0700
Committer: tedyu 
Committed: Wed Oct 12 13:23:06 2016 -0700

--
 .../master/balancer/StochasticLoadBalancer.java |   2 +-
 .../hbase/master/balancer/BalancerTestBase.java | 101 +++
 .../balancer/TestStochasticLoadBalancer.java|  16 +++
 3 files changed, 118 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/f4bdab8b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
index 181990b..345fbf3 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
@@ -1238,7 +1238,7 @@ public class StochasticLoadBalancer extends 
BaseLoadBalancer {
 if (index < 0) {
   cost += 1;
 } else {
-  cost += (1 - cluster.getLocalityOfRegion(i, index));
+  cost += (1 - cluster.getLocalityOfRegion(i, serverIndex));
 }
   }
   return scale(0, max, cost);

http://git-wip-us.apache.org/repos/asf/hbase/blob/f4bdab8b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/BalancerTestBase.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/BalancerTestBase.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/BalancerTestBase.java
index 7ae0133..047cf0f 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/BalancerTestBase.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/BalancerTestBase.java
@@ -21,7 +21,9 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
@@ -35,17 +37,37 @@ import java.util.SortedSet;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
+import com.google.protobuf.Service;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.ChoreService;
+import org.apache.hadoop.hbase.CoordinatedStateManager;
 import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HRegionInfo;
+import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.ProcedureInfo;
 import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableDescriptors;
 import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.TableNotDisabledException;
+import org.apache.hadoop.hbase.TableNotFoundException;
+import org.apache.hadoop.hbase.client.ClusterConnection;
 import org.apache.hadoop.hbase.client.RegionReplicaUtil;
 import org.apache.hadoop.hbase.master.RackManager;
 import org.apache.hadoop.hbase.master.RegionPlan;
+import org.apache.hadoop.hbase.executor.ExecutorService;
+import org.apache.hadoop.hbase.master.*;
+import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
+import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
+import org.apache.hadoop.hbase.quotas.MasterQuotaManager;
+import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
+import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
 import org.apache.hadoop.net.DNSToSwitchMapping;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -150,6 +172,85 @@ public class BalancerTestBase {
 
   };
 
+  /**
+   * Data set for