Jeison Romero has uploaded this change for review. ( http://gerrit.cloudera.org:8080/24637
Change subject: KUDU-3751: master steps down instead of crashing on catch-up timeout ...................................................................... KUDU-3751: master steps down instead of crashing on catch-up timeout Previously, when a newly elected master leader could not catch up with the rest of the Raft configuration within --master_failover_catchup_timeout_ms, it would LOG(FATAL) and crash the entire process. 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. Added MasterFailoverCatchupTimeoutTest to verify this behavior. The test uses a single-master cluster to avoid the nondeterminism of multi-master election timing. It injects latency into the write op pipeline (--tablet_inject_latency_on_apply_write_op_ms and --tablet_inject_latency_on_prepare_write_op_ms) to create a genuinely pending local op, forces a leadership change via RaftConsensus::StepDown() while that op is still pending (a single-voter config re-elects itself immediately), and asserts that the fix's own log message appears rather than the process crashing. Change-Id: I4c9c5a3a6ec43c5174f8d8e92e2421029c51ea01 --- M src/kudu/master/catalog_manager-test.cc M src/kudu/master/catalog_manager.cc 2 files changed, 128 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/37/24637/1 -- 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: newchange Gerrit-Change-Id: I4c9c5a3a6ec43c5174f8d8e92e2421029c51ea01 Gerrit-Change-Number: 24637 Gerrit-PatchSet: 1 Gerrit-Owner: Jeison Romero <[email protected]>
