Apache9 commented on code in PR #6462:
URL: https://github.com/apache/hbase/pull/6462#discussion_r1877056148
##########
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java:
##########
@@ -300,13 +318,28 @@ private boolean scheduleForRetry(IOException e) {
if (numberOfAttemptsSoFar == 0 && unableToConnectToServer(e)) {
return false;
}
+ ExecuteProceduresRequest executeProceduresRequest = request.build();
Review Comment:
Seems we do not need this change?
##########
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java:
##########
@@ -300,13 +318,28 @@ private boolean scheduleForRetry(IOException e) {
if (numberOfAttemptsSoFar == 0 && unableToConnectToServer(e)) {
return false;
}
+ ExecuteProceduresRequest executeProceduresRequest = request.build();
+
+ // Check if the num of attempts have crossed the retry limit, and if the
error type can
+ // fail-fast.
+ if (numberOfAttemptsSoFar >= failFastRetryLimit - 1 &&
isErrorTypeFailFast(e)) {
+ LOG
+ .warn("Number of retries {} exceeded limit {} for the given error
type. Scheduling server"
+ + " crash for {}", numberOfAttemptsSoFar + 1, failFastRetryLimit,
serverName, e);
+ // Expiring the server will schedule SCP and also reject the
regionserver report from the
+ // regionserver if regionserver is somehow able to send the
regionserver report to master.
+ // The master rejects the report by throwing YouAreDeadException,
which would eventually
+ // result in the regionserver abort.
+ // This will also remove "serverName" from the ServerManager's
onlineServers map.
+ master.getServerManager().expireServer(serverName);
+ }
// Always retry for other exception types if the region server is not
dead yet.
if (!master.getServerManager().isServerOnline(serverName)) {
LOG.warn("Request to {} failed due to {}, try={} and the server is not
online, give up",
serverName, e.toString(), numberOfAttemptsSoFar);
return false;
}
- if (e instanceof RegionServerAbortedException || e instanceof
RegionServerStoppedException) {
+ if (e instanceof RegionServerStoppedException) {
Review Comment:
Why we remove the RegionServerAbortedException here?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]