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

ReadThroughCache might not shut down properly with concurrent invalidate

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.8.0
    • Component/s: Sharding
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Steps To Reproduce:
      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
    • Sprint:
      Sharding 2020-09-21, Sharding 2020-10-05
    • Linked BF Score:
      68

      Description

      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.

        Attachments

          Activity

            People

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

              Dates

              Created:
              Updated:
              Resolved: