|
SERVER-77116 is built on the idea that multi=false updates/deletes should not yield after having performed one write, since upon restore the sharding placement could have changed and that would bubble up a StaleConfig exception. However, SERVER-77116 missed one case: After performing the writes, UpdateStage/DeleteStage restore their children stages, which can potentially fail due to WT failing with a WCE which needs to be handled by yielding. This undermines SERVER-77116. To solve this, we can skip restoring the children stages once UpdateStage/DeleteStage has reached EOF, since the children stages won't be used anymore.
|