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

ReadThroughCache might not shut down properly with concurrent invalidate

    • Fully Compatible
    • ALL
    • Hide
      1. A refresh starts, marking the entry as valid
      2. An invalidate is called, marking the entry as invalid
      3. The threadpool is shutdown, causing the lookup to be canceled
      4. When trying to cancel all outstanding operations, an invariant fails
      Show
      A refresh starts, marking the entry as valid An invalidate is called, marking the entry as invalid The threadpool is shutdown, causing the lookup to be canceled When trying to cancel all outstanding operations, an invariant fails
    • Sharding 2020-09-21, Sharding 2020-10-05
    • 68

      If a refresh started and just after that, a shutdown occurs, there is a conflict with any concurrent invalidate that might happen, because it will cancel the ongoing refresh and in turn, will hit an invariant that checks if the entry is valid before removing all outstanding operations. Make a unit test to check this behavior.

      It is safe to remove that invariant, this scenario only happens when shutting down.

            Assignee:
            marcos.grillo@mongodb.com Marcos José Grillo Ramirez
            Reporter:
            marcos.grillo@mongodb.com Marcos José Grillo Ramirez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: