[
https://issues.apache.org/jira/browse/HBASE-28330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sun Xin updated HBASE-28330:
----------------------------
Description:
{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|https://github.com/apache/hbase/blob/68bc533f7116cedc681704b82319e5793b827621/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestUnknownServers.java#L44]
and
[master|https://github.com/apache/hbase/blob/b87b05c847f00c292664d894c21f83c73d48460d/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestUnknownServers.java#L43].
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.
was:
{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.
> 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
> Priority: Major
>
> {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|https://github.com/apache/hbase/blob/68bc533f7116cedc681704b82319e5793b827621/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestUnknownServers.java#L44]
> and
> [master|https://github.com/apache/hbase/blob/b87b05c847f00c292664d894c21f83c73d48460d/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestUnknownServers.java#L43].
> 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)