[SERVER-27680] Make bgsync check stopOplogFetcher failpoint before scheduling new OplogFetcher Created: 13/Jan/17  Updated: 05/Apr/17  Resolved: 23/Jan/17

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.2.12, 3.4.2, 3.5.2

Type: Bug Priority: Major - P3
Reporter: Spencer Brody (Inactive) Assignee: Spencer Brody (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v3.4, v3.2
Sprint: Repl 2017-01-23, Repl 2017-02-13
Participants:
Linked BF Score: 26

 Description   

Uses of the stopOplogFetcher are currently racy. Currently it works by instructing the oplog fetcher to throw out any batch it has and return. After that happens, however, bgsync will reschedule a new OplogFetcher, which will most likely refetch the same batch. So long as the failpoint is on each re-fetch of that batch will continue to be thrown out. But now there's a race when turning off the failpoint where it may have fetched the batch, but not yet hit the failpoint, then the failpoint is disabled and the batch is processed.



 Comments   
Comment by Githook User [ 25/Jan/17 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-27123 Only update the commit point as a secondary from oplog queries against your sync source
(cherry picked from commit 87f49488f1b5c872daa71fd2fd9b5d744409a817)

SERVER-27680 Merge stopOplogFetcher and pauseRsBgSyncProducer failpoint into single stopReplProducer failpoint
(cherry picked from commit 21948042b6da5fb5bf15897f9808a70551f5af09)

SERVER-27053 Don't acknowledge writes if the term has changed.
(cherry picked from commit 8347e322cd46e8ee847e1730a7e94ea8e3981c53)
Branch: v3.2
https://github.com/mongodb/mongo/commit/4a6efad4d422b9a06ff0b7e98bfc9b7cc63b5864

Comment by Githook User [ 23/Jan/17 ]

Author:

{u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@mongodb.com'}

Message: SERVER-27680 Only re-enable replication on the nodes where it was disabled in config_version_rollback.js

(cherry picked from commit d78ddc27acb085f26dc41021eb8fbe7267811036)
Branch: v3.4
https://github.com/mongodb/mongo/commit/65daab53366c46485a3fef3089d18be3906bc574

Comment by Githook User [ 23/Jan/17 ]

Author:

{u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@mongodb.com'}

Message: SERVER-27680 Merge stopOplogFetcher and pauseRsBgSyncProducer failpoint into single stopReplProducer failpoint

(cherry picked from commit 21948042b6da5fb5bf15897f9808a70551f5af09)
Branch: v3.4
https://github.com/mongodb/mongo/commit/aca85db93035c35887f7ecf5a64f972bb0a2c82a

Comment by Githook User [ 20/Jan/17 ]

Author:

{u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@mongodb.com'}

Message: SERVER-27680 Only re-enable replication on the nodes where it was disabled in config_version_rollback.js
Branch: master
https://github.com/mongodb/mongo/commit/d78ddc27acb085f26dc41021eb8fbe7267811036

Comment by Githook User [ 18/Jan/17 ]

Author:

{u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@mongodb.com'}

Message: SERVER-27680 Merge stopOplogFetcher and pauseRsBgSyncProducer failpoint into single stopReplProducer failpoint
Branch: master
https://github.com/mongodb/mongo/commit/21948042b6da5fb5bf15897f9808a70551f5af09

Comment by Githook User [ 13/Jan/17 ]

Author:

{u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@mongodb.com'}

Message: SERVER-27680 Make bgsync check stopOplogFetcher failpoint before scheduling a new OplogFetcher

(cherry picked from commit 5c2aac3b24d0680418ee8fab1fa6e53be2a0eede)
Branch: v3.4
https://github.com/mongodb/mongo/commit/239bb8ca5efea8ec4ffe58bb0441c77ac43d5b91

Comment by Githook User [ 13/Jan/17 ]

Author:

{u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@mongodb.com'}

Message: SERVER-27680 Make bgsync check stopOplogFetcher failpoint before scheduling a new OplogFetcher
Branch: master
https://github.com/mongodb/mongo/commit/5c2aac3b24d0680418ee8fab1fa6e53be2a0eede

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