Compare exhaust iters before erasing

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.4.0-rc7, 4.7.0
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Fully Compatible
    • ALL
    • v4.4
    • Sharding 2020-05-18
    • 11
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      When running the callback function for an exhaust task, the thread pool task executor currently erases this task from its queue using an iterator and then checks to see if this iterator is equal to another. The iterator may be invalidated after erasing, so we should compare the iters before erasing. The order of the two does not actually matter as all of this happens while holding a mutex.

            Assignee:
            Janna Golden
            Reporter:
            Janna Golden
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: