Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-11565

Support retry cache CallId-based invalidation for OM and SCM

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • OM HA, SCM HA
    • None

    Description

      RATIS-872 introduces a new retry cache invalidation based on the replied call IDs on top of the existing time-based retry cache invalidation. 

      This has already been used in Raft client created for Ratis write pipeline. A RaftClientImpl is created for a single pipeline and the repliedCallIds are automatically added to the RaftClientRequest for every WriteChunk / PutBlock.

      However, for OM and SCM since the Ratis request (RaftClientRequest) is submitted directly to the server. Even for SCM call with InvocationType Client and RaftClient created in CreatePipelineCommandHandler, the replied call IDs mechanism does not really work since the RaftClient is only created to send one request and then closed immediately.

      OM and SCM may benefit by integrating with the new retry cache invalidation mechanism to reduce memory footprint. However, the implementation might be quite involved since it might require OM and SCM client implementation to keep track to its repliedCallids state (similar to how it's implemented in RaftClientImpl).

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            ivanandika Ivan Andika

            Dates

              Created:
              Updated:

              Slack

                Issue deployment