Я прочитал исходный код и обнаружил, что другой регион - это те регионы, состояния которых не находятся в {OPEN |ОФФЛАЙН |РАЗДЕЛИТЬ |FAILED_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, который будет учитываться в «другом регионе» в веб-интерфейсе пользователя
. Кажется, что когда состояние региона переходит в MERGED, оно больше не меняется.Как и график, представленный в официальном документе: