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

The second phase of two-phase drop should occur when the drop becomes both checkpointed and older than the oldest timestamp

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.8
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Fully Compatible
    • Storage NYC 2019-01-28, Storage NYC 2019-02-11

      Executing the second phase of two-phase drop, to remove the WT index table, is currently done when the dropCollection timestamp becomes checkpointed. This is fine because currently we do not allow reads at any PITs between oldest timestamp and the dropCollection timestamp (due to the fact that catalog is not versioned).

      Timeline:
      -------- oldest --------------- drop (1st phase, with drop timestamp) ---------- checkpoint – drop (2nd phase, actual WT index table drop)

      However, in the future, catalog will be versioned so we will want to serve index reads between oldest and dropCollection (1st phase). In that case, we will want to delay the 2nd phase (actual WT drop) until oldest timestamp move past the dropCollection timestamp.

            Assignee:
            xiangyu.yao@mongodb.com Xiangyu Yao (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: