[SERVER-42022] Attempt to remove initial sync missing document fetching Created: 01/Jul/19  Updated: 29/Oct/23  Resolved: 21/Aug/19

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 4.3.1

Type: Task Priority: Major - P3
Reporter: Judah Schvimer Assignee: A. Jesse Jiryu Davis
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-26780 SyncTail::getMissingDoc() should retr... Closed
Documented
is documented by DOCS-12975 Investigate changes in SERVER-42022: ... Closed
Related
related to SERVER-15410 Batch fetch missing documents during ... Closed
is related to SERVER-21057 Collection scan during concurrent mov... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2019-07-15, Repl 2019-08-26
Participants:

 Description   

We currently think this was only necessary for mmapv1 when updates could cause a collection scan to miss a document. If we could remove this step, it could significantly speed up initial sync in certain workloads and simplify initial sync.

This would require the storage engine API to prohibit updates from causing collection scans to miss a document.



 Comments   
Comment by A. Jesse Jiryu Davis [ 28/Aug/19 ]

Not backporting: this change is permissible in 4.4 because the sync source won't be MMAPv1, but not permissible in 4.2, which could sync from a 4.0 mongod running MMAPv1.

Comment by Githook User [ 21/Aug/19 ]

Author:

{'username': 'ajdavis', 'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis'}

Message: SERVER-42022 Remove missing-document fetcher
Branch: master
https://github.com/mongodb/mongo/commit/609e2697c2619925073d4ac0f57f33e789d05100

Comment by David Golden [ 09/Aug/19 ]

Please also recheck vsĀ SERVER-38860, which has this line:

there is no idempotency concern because if an error is returned, initial sync will refetch the document as if the document is missing

Comment by William Schultz (Inactive) [ 08/Jul/19 ]

Perhaps verifying the correctness of this change would be suitable for a small scale formal model. It could be another good candidate for trying out TLA+ and its model checker. I know that max.hirschhorn and siyuan.zhou have previously explored similar topics e.g. PM-825.

Generated at Thu Feb 08 04:59:20 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.