Sun Xin created HBASE-28330:
-------------------------------
Summary: TestUnknownServers.testListUnknownServers is flaky in
branch-2
Key: HBASE-28330
URL: https://issues.apache.org/jira/browse/HBASE-28330
Project: HBase
Issue Type: Bug
Components: test
Affects Versions: 2.5.7
Reporter: Sun Xin
Assignee: Sun Xin
{code:java}
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.913 s
<<< FAILURE! - in org.apache.hadoop.hbase.master.TestUnknownServers
[ERROR]
org.apache.hadoop.hbase.master.TestUnknownServers.testListUnknownServers Time
elapsed: 0.204 s <<< FAILURE!
java.lang.AssertionError: expected:<1> but was:<2> {code}
The value of TestUnknownServers.SLAVES is different between branch-2 and master.
It is 1 in master but 2 in branch-2.
The RegionServer marked UNKNOWN_SERVER is the one that *holds regions* but is
not tracked by the ServerManager.
Please see HMaster.getUnknownServers
{code:java}
private List<ServerName> getUnknownServers() {
if (serverManager != null) {
final Set<ServerName> serverNames =
getAssignmentManager().getRegionStates().getRegionStates()
.stream().map(RegionState::getServerName).collect(Collectors.toSet());
final List<ServerName> unknownServerNames = serverNames.stream()
.filter(sn -> sn != null &&
serverManager.isServerUnknown(sn)).collect(Collectors.toList());
return unknownServerNames;
}
return null;
} {code}
In UT TestUnknownServers.testListUnknownServers, we start a HBase cluster with
2 RegionServer, if all region are assigned to ONE server, then only that server
is called UNKNOWN_SERVER, the UT will fail.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)