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

QueryAnalysisCoordinator Invariant Can Be Triggered When System Is Very Slow

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • Fully Compatible
    • ALL
    • ClusterScalability Mar31-Apr14
    • 200
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      QueryAnalysisCoordinator::getNewConfigurationsForSampler will update the last ping time of one of its samplers to now and then later assert that at least one sampler has a last ping time within a threshold. However, the notion of "now" used when updating the sampler's last ping time and calculating the last ping threshold are not the same, so if the system is very slow, it's possible that the just updated sampler is no longer within the threshold, leading to the invariant being violated.

      Instead, _getMinLastPingTime() should accept now as a parameter, so we can ensure that the whole function is using a single notion of "now."

            Assignee:
            brett.nawrocki@mongodb.com Brett Nawrocki
            Reporter:
            brett.nawrocki@mongodb.com Brett Nawrocki
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: