[
https://issues.apache.org/jira/browse/KUDU-3751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18065611#comment-18065611
]
Marton Greber commented on KUDU-3751:
-------------------------------------
Maybe, replace the LOG(FATAL) branch at catalog_manager.cc:1421-1423 with a
call to
the consensus layer's LeaderStepDown() / Resign() equivalent, transitioning the
replica back to FOLLOWER and allowing a new election to proceed cleanly.
> Master FATALs instead of abdicating after election timeout
> ----------------------------------------------------------
>
> Key: KUDU-3751
> URL: https://issues.apache.org/jira/browse/KUDU-3751
> Project: Kudu
> Issue Type: Bug
> Reporter: Marton Greber
> Priority: Major
>
> When a newly elected Kudu master cannot catch up within the timeout period
> (--master_failover_catchup_timeout_ms, default 30s), it kills itself with a
> FATAL instead of gracefully abdicating back to FOLLOWER state.
> The code itself acknowledges the correct behavior with two TODO comments that
> have not been implemented:
> src/kudu/master/catalog_manager.cc line 1420:
> {code:java}
> // TODO: Abdicate on timeout instead of crashing.
> if (s.IsTimedOut()) {
> LOG(FATAL) << "Shutting down due to unavailability of other masters
> after"
> << " election. TODO: Abdicate instead.";
> }{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)