Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-45733

Remove dead code which explicitly tries to set ghost timestamp in IndexBuildsManager::commitIndexBuild

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.7.0
    • None
    • Storage
    • Fully Compatible
    • Execution Team 2020-04-06

    Description

      IndexBuildsManager::commitIndexBuild() currently gets called in 4 places.

      1) startup recovery - which does non-timestamped writes.
      2) Index build via coordinator (both primary and secondary) - since onCreateEachFn & onCommitFn now sets the ghost timestamp for catlog writes on secondaries (w/ FCV set to 4.2 & 4.4), then what's the purpose of calling IndexTimestampHelper::setGhostCommitTimestampForCatalogWrite here. Also, that line doesn't do anything because requiresGhostCommitTimestampForWrite() will return false as writesAreReplicated() returns false at that point.
      3) SystemIndexBuild - Always runs on primary. so, need of ghost timestamp.
      4) Foreground index build on secondaries - Since it's inline. This also doesn't requires ghosty timestamp.

      So, this piece of code acts as dummy. And, it's good to remove it so that it's easy for future readers.

      Attachments

        Activity

          People

            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            suganthi.mani@mongodb.com Suganthi Mani
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: