You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2017/07/19 22:33:00 UTC
[12/23] hbase git commit: HBASE-16456 Fix findbugs warnings in
hbase-rsgroup module (Guangxu Cheng)
HBASE-16456 Fix findbugs warnings in hbase-rsgroup module (Guangxu Cheng)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4db0d142
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4db0d142
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4db0d142
Branch: refs/heads/HBASE-15631-branch-1
Commit: 4db0d142265f223a9f6f428e81dd5f187570e692
Parents: e9ab2b1
Author: Andrew Purtell <ap...@apache.org>
Authored: Wed Jul 5 17:19:43 2017 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Wed Jul 19 15:32:37 2017 -0700
----------------------------------------------------------------------
.../hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java | 16 +++++++++++++++-
.../hadoop/hbase/rsgroup/RSGroupAdminServer.java | 2 +-
.../hbase/rsgroup/RSGroupBasedLoadBalancer.java | 16 +++++++++-------
.../hbase/rsgroup/RSGroupInfoManagerImpl.java | 14 ++++++++++++--
4 files changed, 37 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/4db0d142/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
----------------------------------------------------------------------
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
index 8fa9fdc..e71470e 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
@@ -89,7 +89,7 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService
public void start(CoprocessorEnvironment env) throws IOException {
MasterCoprocessorEnvironment menv = (MasterCoprocessorEnvironment)env;
master = menv.getMasterServices();
- groupInfoManager = new RSGroupInfoManagerImpl(master);
+ setGroupInfoManager(new RSGroupInfoManagerImpl(master));
groupAdminServer = new RSGroupAdminServer(master, groupInfoManager);
Class<?> clazz =
master.getConfiguration().getClass(HConstants.HBASE_MASTER_LOADBALANCER_CLASS, null);
@@ -107,6 +107,20 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService
return this;
}
+ private static void setStaticGroupInfoManager(RSGroupInfoManagerImpl groupInfoManager) {
+ RSGroupAdminEndpoint.groupInfoManager = groupInfoManager;
+ }
+
+ private void setGroupInfoManager(RSGroupInfoManagerImpl groupInfoManager) throws IOException {
+ if (groupInfoManager == null) {
+ groupInfoManager = new RSGroupInfoManagerImpl(master);
+ groupInfoManager.init();
+ } else if (!groupInfoManager.isInit()) {
+ groupInfoManager.init();
+ }
+ setStaticGroupInfoManager(groupInfoManager);
+ }
+
public RSGroupInfoManager getGroupInfoManager() {
return groupInfoManager;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/4db0d142/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java
----------------------------------------------------------------------
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java
index 43ac3ad..e76e3e7 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java
@@ -218,7 +218,7 @@ public class RSGroupAdminServer extends RSGroupAdmin {
}
}
try {
- Thread.sleep(1000);
+ manager.wait(1000);
} catch (InterruptedException e) {
LOG.warn("Sleep interrupted", e);
Thread.currentThread().interrupt();
http://git-wip-us.apache.org/repos/asf/hbase/blob/4db0d142/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java
----------------------------------------------------------------------
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java
index c1b3c7d..519177c 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java
@@ -322,18 +322,19 @@ public class RSGroupBasedLoadBalancer implements RSGroupableBalancer, LoadBalanc
private Set<HRegionInfo> getMisplacedRegions(
Map<HRegionInfo, ServerName> regions) throws IOException {
Set<HRegionInfo> misplacedRegions = new HashSet<HRegionInfo>();
- for (HRegionInfo region : regions.keySet()) {
- ServerName assignedServer = regions.get(region);
+ for(Map.Entry<HRegionInfo, ServerName> region : regions.entrySet()) {
+ HRegionInfo regionInfo = region.getKey();
+ ServerName assignedServer = region.getValue();
RSGroupInfo info =
- RSGroupInfoManager.getRSGroup(RSGroupInfoManager.getRSGroupOfTable(region.getTable()));
+ RSGroupInfoManager.getRSGroup(RSGroupInfoManager.getRSGroupOfTable(regionInfo.getTable()));
if (assignedServer != null &&
(info == null || !info.containsServer(assignedServer.getHostPort()))) {
- LOG.debug("Found misplaced region: " + region.getRegionNameAsString() +
+ LOG.debug("Found misplaced region: " + regionInfo.getRegionNameAsString() +
" on server: " + assignedServer +
" found in group: " +
RSGroupInfoManager.getRSGroupOfServer(assignedServer.getHostPort()) +
" outside of group: " + (info == null ? "UNKNOWN" : info.getName()));
- misplacedRegions.add(region);
+ misplacedRegions.add(regionInfo);
}
}
return misplacedRegions;
@@ -345,9 +346,10 @@ public class RSGroupBasedLoadBalancer implements RSGroupableBalancer, LoadBalanc
new TreeMap<ServerName, List<HRegionInfo>>();
List<HRegionInfo> misplacedRegions = new LinkedList<HRegionInfo>();
correctAssignments.put(LoadBalancer.BOGUS_SERVER_NAME, new LinkedList<HRegionInfo>());
- for (ServerName sName : existingAssignments.keySet()) {
+ for (Map.Entry<ServerName, List<HRegionInfo>> assignments : existingAssignments.entrySet()){
+ ServerName sName = assignments.getKey();
correctAssignments.put(sName, new LinkedList<HRegionInfo>());
- List<HRegionInfo> regions = existingAssignments.get(sName);
+ List<HRegionInfo> regions = assignments.getValue();
for (HRegionInfo region : regions) {
RSGroupInfo info = null;
try {
http://git-wip-us.apache.org/repos/asf/hbase/blob/4db0d142/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
----------------------------------------------------------------------
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
index 5cb2e71..c46ad87 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
@@ -120,7 +120,7 @@ public class RSGroupInfoManagerImpl implements RSGroupInfoManager, ServerListene
private volatile Set<String> prevRSGroups;
private RSGroupSerDe rsGroupSerDe;
private DefaultServerUpdater defaultServerUpdater;
-
+ private boolean isInit = false;
public RSGroupInfoManagerImpl(MasterServices master) throws IOException {
this.rsGroupMap = Collections.emptyMap();
@@ -129,13 +129,21 @@ public class RSGroupInfoManagerImpl implements RSGroupInfoManager, ServerListene
this.master = master;
this.watcher = master.getZooKeeper();
this.conn = master.getConnection();
- rsGroupStartupWorker = new RSGroupStartupWorker(this, master, conn);
prevRSGroups = new HashSet<String>();
+ }
+
+ public void init() throws IOException{
+ rsGroupStartupWorker = new RSGroupStartupWorker(this, master, conn);
refresh();
rsGroupStartupWorker.start();
defaultServerUpdater = new DefaultServerUpdater(this);
master.getServerManager().registerListener(this);
defaultServerUpdater.start();
+ isInit = true;
+ }
+
+ boolean isInit() {
+ return isInit;
}
/**
@@ -672,6 +680,8 @@ public class RSGroupInfoManagerImpl implements RSGroupInfoManager, ServerListene
//flush any inconsistencies between ZK and HTable
groupInfoManager.flushConfig(groupInfoManager.rsGroupMap);
}
+ } catch (RuntimeException e) {
+ throw e;
} catch(Exception e) {
found.set(false);
LOG.warn("Failed to perform check", e);