This is the leftover bit of SERVER-49435 for versions older than 8.0. In those versions, NetworkInterfaceTL::CommandStateBase::setTimer will uassert if the deadline is already in the past by the time the function is called.
SERVER-49435 made sure that NetworkInterfaceTL::ExhaustCommandState::sendRequest handled the exception so that the server wouldn't crash on that path, but it didn't cover the NetworkInterfaceTL::ExhaustCommandState::continueExhaustRequest path. If the thread running that code gets pre-empted for long enough between the point where the deadline is set and the point where it is compared against the current time, this can crash the server.
SERVER-72055 removed this problem for version 8.0 and on, but it's still present in older versions.
- is related to
-
SERVER-49435 uassert in NetworkInterfaceTL::setTimer can cause server to crash if connection future not immediately ready
- Closed