Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-615

MRS/DMS hold on to anchors longer than necessary

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • M5
    • None
    • tablet
    • None

    Description

      Right now we un-anchor MRS/DMS when they get destructed, because the LogAnchorer member gets destructed. However, we forgot that the MRS/DMS can live for a while after it has been flushed - eg if there is an open scanner pointing to the memory store.

      tablet_peer-test's TabletPeerTest.TestActiveTransactionPreventsLogGC occasionally fails (<1%) due to this because there is some reference the log appender thread which is holding onto the MRS slightly after the transaction has committed, so the anchorer isn't getting immediately removed upon flush. But if there were scanners open, it would be potentially much longer.

      To fix, we should add some explicit method in the MRS/DMS which says "you've been persisted, you can un-anchor yourself".

      Attachments

        Issue Links

        Activity

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

          People

            Unassigned Unassigned
            tlipcon Todd Lipcon

            Dates

              Created:
              Updated:

              Slack

                Issue deployment