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

Database critical section does not serialize with ongoing refreshes

    • 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

      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.)

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