[SERVER-64737] dbCheck tests should tolerate non-deterministic batch boundaries Created: 21/Mar/22 Updated: 29/Oct/23 Resolved: 23/Mar/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.0.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Josef Ahmad | Assignee: | Josef Ahmad |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Operating System: | ALL | ||||
| Sprint: | Execution Team 2022-04-04 | ||||
| Participants: | |||||
| Linked BF Score: | 38 | ||||
| Description |
|
dbCheck evaluates exit conditions like maxCount and maxSize at batch boundaries. The batch boundaries are not necessarily deterministic, e.g. they can be time-bound via maxBatchTimeMillis. For example, on a collection with _id values starting from 0 and increasing incrementally, a dbCheck run with a batch size of 1000 docs and maxCount (i.e. number of documents to scan to reach completion) of 5000, won't necessarily complete when reaching the upper batch boundary _id:5000. It will instead complete with an upper boundary of 5000 or greater. This is because an interim batch may complete before reaching 1000 documents, and because the dbCheck exit condition is evaluate between batches. |
| Comments |
| Comment by Githook User [ 23/Mar/22 ] |
|
Author: {'name': 'Josef Ahmad', 'email': 'josef.ahmad@mongodb.com', 'username': 'josefahmad'}Message: |