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

OperationContext::waitForConditionOrInterruptNoAssertUntil() is not returning stdx::cv_status::timeout on deadline expiration.

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Works as Designed
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Service Arch
    • ALL

    Description

       On deadline expiration, OperationContext::waitForConditionOrInterruptNoAssertUntil() is not returning stdx::cv_status::timeout, instead it's returning stdx::cv_status::no_timeout. As a result, maybeWakeReason in waitForConditionOrInterruptUntil() is set to boost::none, leading to hang of waitForConditionOrInterruptUntil().

      Note: Currently, sleepFor(), sleepUntil(), waitForConditionOrInterruptFor() internally calls waitForConditionOrInterruptUntil() and those methods are used in many places of our codebase.

      Attachments

        Activity

          People

            backlog-server-servicearch Backlog - Service Architecture
            suganthi.mani@mongodb.com Suganthi Mani
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: