Abhishek Chennaka has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/24287 )

Change subject: KUDU-3762 - Fix catchup deadlock on LMP mismatch
......................................................................

KUDU-3762 - Fix catchup deadlock on LMP mismatch

A Raft leader could enter an infinite LMP mismatch loop if it erroneously
marked a peer as unrecoverable (wal_catchup_possible = false). In this
state, RequestForPeer() skips log-position negotiation and sends status
updates at the log tip. If the peer is behind, it rejects the request,
triggering an immediate retry loop that consumes CPU and prevents catchup.

This patch introduces is_joining_existing_cluster_ in CatalogManager to
silence heartbeats and background tasks during the join phase. Explicitly
shuts down the system catalog tablet before initiating AddMaster() to
prevent the leader from seeing a stale Index 0 state.

Testing:
- Added a test case to reproduce the issue.
- Verified the fix resolves the loop and allows the new master to become
  a voter.

Change-Id: I00f4f840c21cc037a2aa6c023af168352fef0761
Reviewed-on: http://gerrit.cloudera.org:8080/24287
Reviewed-by: Alexey Serbin <[email protected]>
Tested-by: Abhishek Chennaka <[email protected]>
---
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_runner.cc
M src/kudu/master/master_service.cc
M src/kudu/mini-cluster/CMakeLists.txt
M src/kudu/mini-cluster/external_mini_cluster-test.cc
6 files changed, 172 insertions(+), 4 deletions(-)

Approvals:
  Alexey Serbin: Looks good to me, approved
  Abhishek Chennaka: Verified

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I00f4f840c21cc037a2aa6c023af168352fef0761
Gerrit-Change-Number: 24287
Gerrit-PatchSet: 11
Gerrit-Owner: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Ashwani Raina <[email protected]>
Gerrit-Reviewer: Gabriella Lotz <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>

Reply via email to