Accessing `MirrorMaestroImpl::_random` should be thread-safe

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 7.0.0-rc0
    • Affects Version/s: None
    • Component/s: Internal Code
    • None
    • Fully Compatible
    • ALL
    • Service Arch 2023-04-17
    • 2
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      SERVER-72373 modified MirrorMaestro to use PseudoRandom to pick a normalized subset of eligible hosts. PseudoRandom, however, is not thread-safe and concurrent accesses could result in read-after-write data races. Since MirrorMaestro is accessing PseudoRandom through executor threads, we can either use a synchronization primitive or make instances of PseudoRandom thread-local to avoid read-after-write races.

            Assignee:
            Amirsaman Memaripour
            Reporter:
            Amirsaman Memaripour
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: