Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/24637 )

Change subject: KUDU-3751: master steps down instead of crashing on catch-up 
timeout
......................................................................


Patch Set 6:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/24637/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/24637/6//COMMIT_MSG@12
PS6, Line 12: This patch replaces that crash with a graceful
            : step-down: the master calls RaftConsensus::StepDown(), logs a
            : warning, and continues running as a follower instead.
I don't think this is an improvement.  We can allow it continue running only if 
it's able to eventually catch up with the leader.  But I'm not sure that's the 
case as of now.

If the newly added kudu-master is allowed to run if it's not going to catch up 
ever, it's much worse than crashing because it hides the fact that the process 
of adding a new master has failed.  This might be very confusing since the user 
might assume all is well and eventually it's going to work out, thinking that 
now they have a multi-master setup, assuming HA guarantees when there is any, 
in fact.


http://gerrit.cloudera.org:8080/#/c/24637/6/src/kudu/master/catalog_manager.cc
File src/kudu/master/catalog_manager.cc:

http://gerrit.cloudera.org:8080/#/c/24637/6/src/kudu/master/catalog_manager.cc@1445
PS6, Line 1445:   if (!s.ok()) {
              :     WARN_NOT_OK(s, "Failed waiting for node to catch up after 
master election");
              :     if (s.IsTimedOut()) {
              :       LOG(WARNING) << "Stepping down as leader due to 
unavailability of other "
              :                    << "masters after election.";
              :       LeaderStepDownResponsePB step_down_resp;
              :       WARN_NOT_OK(consensus->StepDown(&step_down_resp),
              :                   "Failed to step down after catch-up timeout");
              :       if (step_down_resp.has_error() &&
              :           step_down_resp.error().code() != 
TabletServerErrorPB::NOT_THE_LEADER) {
              :         LOG(WARNING) << "Step-down response error: "
              :                      << 
step_down_resp.error().status().message();
              :       }
              :     }
              :     return;
              :   }
Shouldn't the kudu-master process shutdown after this instead continue running? 
 Otherwise, it's quite confusing and error-prone, it seems.



--
To view, visit http://gerrit.cloudera.org:8080/24637
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I4c9c5a3a6ec43c5174f8d8e92e2421029c51ea01
Gerrit-Change-Number: 24637
Gerrit-PatchSet: 6
Gerrit-Owner: Jeison Romero <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Gabriella Lotz <[email protected]>
Gerrit-Reviewer: Jeison Romero <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Comment-Date: Tue, 28 Jul 2026 23:02:29 +0000
Gerrit-HasComments: Yes

Reply via email to