Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-7739 Kafka Tiered Storage
  3. KAFKA-15261

ReplicaFetcher thread should not block if RLMM is not initialized

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • 3.6.0
    • 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

          Activity

            People

              abhijeetkumar Abhijeet Kumar
              abhijeetkumar Abhijeet Kumar
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: