Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java (date 1477605507000) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java (revision ) @@ -1024,7 +1024,7 @@ writerCacheConf = cacheConf; } InetSocketAddress[] favoredNodes = null; - if (region.getRegionServerServices() != null) { + if (region.getRegionServerServices() != null && !region.getRegionInfo().isSystemTable()) { favoredNodes = region.getRegionServerServices().getFavoredNodesForRegion( region.getRegionInfo().getEncodedName()); } Index: hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (date 1477605507000) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (revision ) @@ -798,7 +798,7 @@ regionStates.updateRegionState( region, State.PENDING_OPEN, destination); List favoredNodes = ServerName.EMPTY_SERVER_LIST; - if (this.shouldAssignRegionsWithFavoredNodes) { + if (!region.isSystemTable() && this.shouldAssignRegionsWithFavoredNodes) { favoredNodes = server.getFavoredNodesManager().getFavoredNodes(region); } regionOpenInfos.add(new Pair>( @@ -1106,7 +1106,7 @@ " to " + plan.getDestination(); try { List favoredNodes = ServerName.EMPTY_SERVER_LIST; - if (this.shouldAssignRegionsWithFavoredNodes) { + if (!region.isSystemTable() && this.shouldAssignRegionsWithFavoredNodes) { favoredNodes = server.getFavoredNodesManager().getFavoredNodes(region); } serverManager.sendRegionOpen(plan.getDestination(), region, favoredNodes); @@ -1851,7 +1851,7 @@ return; // Region is not in the expected state any more } List favoredNodes = ServerName.EMPTY_SERVER_LIST; - if (shouldAssignRegionsWithFavoredNodes) { + if (!hri.isSystemTable() && shouldAssignRegionsWithFavoredNodes) { favoredNodes = ((MasterServices)server).getFavoredNodesManager().getFavoredNodes(hri); } @@ -2409,7 +2409,7 @@ try { regionStates.splitRegion(hri, a, b, serverName); - if (this.shouldAssignRegionsWithFavoredNodes) { + if (!hri.isSystemTable() && this.shouldAssignRegionsWithFavoredNodes) { favoredNodes = processFavoredNodesForDaughters(hri, a ,b); this.serverManager.sendFavoredNodes(serverName, favoredNodes); } @@ -2649,7 +2649,7 @@ regionOnline(hri, serverName, 1); try { - if (this.shouldAssignRegionsWithFavoredNodes) { + if (!hri.isSystemTable() && this.shouldAssignRegionsWithFavoredNodes) { processFavoredNodesForMerge(hri, a, b); } } catch (IOException e) { Index: hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.java (date 1477605507000) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.java (revision ) @@ -208,7 +208,7 @@ new FavoredNodeAssignmentHelper(servers, rackManager); assignmentHelper.initialize(); ServerName primary = super.randomAssignment(regionInfo, servers); - if (!assignmentHelper.canPlaceFavoredNodes()) { + if (!assignmentHelper.canPlaceFavoredNodes() || !regionInfo.isSystemTable()) { return primary; } List favoredNodes = fnm.getFavoredNodes(regionInfo);