[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:
Depends
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: SERVER-64737 dbcheck.js should tolerate non-deterministic batch boundaries
Branch: master
https://github.com/mongodb/mongo/commit/c799851554dc01493d35b43701416e9c78b3665c

Generated at Thu Feb 08 06:01:02 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.