Abhishek Chennaka created KUDU-3816:
---------------------------------------
Summary: Newly elected Raft leader delayed initial heartbeat due
to high --raft_heartbeat_interval_ms causes scans on new tablets to be rejected.
Key: KUDU-3816
URL: https://issues.apache.org/jira/browse/KUDU-3816
Project: Kudu
Issue Type: Improvement
Reporter: Abhishek Chennaka
After a replica becomes a leader {{RaftConsensus::BecomeLeaderUnlocked()}}
appends the NO_OP for the new term to its queue but doesn't send it right away.
So the NO_OP only goes out with the first heartbeat to each follower which has
a wait time of utmost about {{{}--raft_heartbeat_interval_ms{}}}. Until the
NO_OP is committed, the MVCC clean time of a newly created tablet isn't
initialized, and every replica of that tablet rejects scans with:
{noformat}
Uninitialized: clean time has not yet been initialized (TABLET_NOT_RUNNING)
{noformat}
A write to the tablet hides the problem: {{Replicate()}} signals the peers, and
the NO_OP is sent together with the write. Only tablets that haven't been
written to since the election are affected.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)