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

Database critical section does not serialize with ongoing refreshes

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • ALL
    • v6.1, v6.0, v5.0
    • Sharding EMEA 2022-07-11, Sharding EMEA 2022-07-25, Sharding EMEA 2022-08-08, Sharding EMEA 2022-08-22, Sharding EMEA 2022-09-05
    • 20

    Description

      Consider the following scenario:

      1. A StaleDatabaseVersion error is thrown due to db version mismatch (no critical section in place)
      2. The exception is bubbled up and spawn a database refresh
      3. The database critical section is acquired
      4. The database refresh completes and installs the new db version in the DSS
      5. The critical section is released

      To guarantee correctness of the critical section we must ensure that all the refreshes started before the critical section acquisition (3.) will be invalidated and no new refreshes could start before (5.)

      Attachments

        Activity

          People

            antonio.fuschetto@mongodb.com Antonio Fuschetto
            tommaso.tocci@mongodb.com Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: