BugZero found this defect 129 days ago.
Data sources
All data on this page is proprietary to BugZero® or gathered from public sources
3/13/2024
MongoDB Server
5.0.0
6.0.0
7.0.0
7.2.0
No fixed releases provided.
In the following algorithm for calculating remainingTime to complete for resharding op, used by resharding commit monitor: Milliseconds remainingTime(Milliseconds elapsedTime, double elapsedWork, double totalWork) { elapsedWork = std::min(elapsedWork, totalWork); double remainingMsec = 1.0 * elapsedTime.count() * (totalWork / elapsedWork - 1); return Milliseconds(Milliseconds::rep(remainingMsec)); } If the elapsedTime is of the order of few ms, the remainingMsec can be incorrectly reported. For example in the HELP-54235, with ~300k fetched oplog entries (totalWork) and a 1000 applied oplog entries (elapsedWork) and a value of elapsedTime as 6ms will result in engaging the CS as: remainingMsec = 1.0 * 6 * (300-1) ≈ 1800 ms = 1.8 seconds This algorithm needs to change to handle this edge case.