Guangxu Cheng created HBASE-16430: ------------------------------------- Summary: RegionServer Group's bug when move tables Key: HBASE-16430 URL: https://issues.apache.org/jira/browse/HBASE-16430 Project: HBase Issue Type: Bug Components: master Affects Versions: 2.0.0 Reporter: Guangxu Cheng
it is an obvious bug when moves table. Implementation of the moveTables as follows: {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid} @Override public synchronized void moveTables( Set<TableName> tableNames, String groupName) throws IOException { if (groupName != null && !rsGroupMap.containsKey(groupName)) { throw new DoNotRetryIOException("Group "+groupName+" does not exist or is a special group"); } Map<String,RSGroupInfo> newGroupMap = Maps.newHashMap(rsGroupMap); for(TableName tableName: tableNames) { if (tableMap.containsKey(tableName)) { RSGroupInfo src = new RSGroupInfo(rsGroupMap.get(tableMap.get(tableName))); src.removeTable(tableName); newGroupMap.put(src.getName(), src); } if(groupName != null) { RSGroupInfo dst = new RSGroupInfo(newGroupMap.get(groupName)); dst.addTable(tableName); newGroupMap.put(dst.getName(), dst); } } flushConfig(newGroupMap); } {code} Should use newGroupMap instead of rsGroupMap: {code} RSGroupInfo src = new RSGroupInfo(rsGroupMap.get(tableMap.get(tableName))); {code} ==> {code} RSGroupInfo src = new RSGroupInfo(newGroupMap.get(tableMap.get(tableName))); {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)