【发布时间】:2019-03-26 12:17:35
【问题描述】:
【问题讨论】:
【问题讨论】:
我阅读了源代码,发现另一个区域是那些状态不在 {OPEN |离线 |分裂 |失败_打开 | FAILED_CLOSE}。
代码在文件'MasterStatusTmplImpl.java'中:
Map<RegionState.State, List<HRegionInfo>> tableRegions =
master.getAssignmentManager().getRegionStates()
.getRegionByStateOfTable(tableName);
int openRegionsCount = tableRegions.get(RegionState.State.OPEN).size();
int offlineRegionsCount = tableRegions.get(RegionState.State.OFFLINE).size();
int splitRegionsCount = tableRegions.get(RegionState.State.SPLIT).size();
int failedRegionsCount = tableRegions.get(RegionState.State.FAILED_OPEN).size()
+ tableRegions.get(RegionState.State.FAILED_CLOSE).size();
int otherRegionsCount = 0;
for (List<HRegionInfo> list: tableRegions.values()) {
otherRegionsCount += list.size();
}
// now subtract known states
otherRegionsCount = otherRegionsCount - openRegionsCount
- failedRegionsCount - offlineRegionsCount
- splitRegionsCount;
据此,当我将一些区域合并到新区域时,旧区域的状态变成了 MERGED,这将被计入 web UI 上的“其他区域”
【讨论】: