Details
-
Sub-task
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
Description
While building remote log aux state, the replica fetcher fetches the remote log segment metadata. If the TBRLMM is not initialized yet, the call blocks. Since replica fetchers share a common lock, it prevents other replica fetchers from running as well. Also the same lock is shared in the handle LeaderAndISR request path, hence those calls get blocked as well.
Instead, replica fetcher should check if RLMM is initialized before attempting to fetch the remote log segment metadata. If RLMM is not initialized, it should throw a retryable error so that it can be retried later, and also does not block other operations.
Attachments
Issue Links
- links to