[SERVER-5208] Replica set periodic reevaluation of sync targets Created: 05/Mar/12  Updated: 11/Jul/16  Resolved: 19/Dec/12

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

Type: Improvement Priority: Major - P3
Reporter: Eric Milkie Assignee: Kristina Chodorow (Inactive)
Resolution: Done Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-6476 Setting slaveDelay on a sync target s... Closed
is depended on by SERVER-4927 Slaves stops replog sync if another s... Closed
is depended on by SERVER-6137 When disk is full on any secondary, t... Closed
Duplicate
is duplicated by SERVER-6882 Automatically reevaluate sync sources... Closed
Related
related to SERVER-8235 too-frequent sync source changes caus... Closed
related to DOCS-154 Add section to replication-internals ... Closed
is related to SERVER-4750 Secondary syncs to another secondary ... Closed
Participants:

 Description   

Periodically, we should rerun the logic in ReplSetImpl::getMemberToSyncTo(). The ping times may have changed since last check, or the oplog staleness within the cluster may have changed such that a different node is now much more up-to-date.
Currently we only do this check when the cluster state changes.



 Comments   
Comment by auto [ 19/Dec/12 ]

Author:

{u'date': u'2012-09-10T14:53:03Z', u'email': u'kristina@10gen.com', u'name': u'Kristina'}

Message: Remove now-unneeded buildIndexes variable SERVER-5208

This is now checked in syncable().
Branch: master
https://github.com/mongodb/mongo/commit/24e46882948452b09943052a411c8f10b1aefb5f

Comment by auto [ 19/Dec/12 ]

Author:

{u'date': u'2012-12-19T16:17:59Z', u'email': u'kristina@10gen.com', u'name': u'Kristina'}

Message: SERVER-5208 Periodically re-evaluate sync target on secondaries
Branch: master
https://github.com/mongodb/mongo/commit/43a4b0c5ce2b0f4fa460d371f4acc8dab989d038

Comment by auto [ 12/Sep/12 ]

Author:

{u'date': u'2012-09-12T10:53:17-07:00', u'email': u'kristina@10gen.com', u'name': u'Kristina'}

Message: Remove sync target change SERVER-5208
Branch: master
https://github.com/mongodb/mongo/commit/c90a18d7e2342fd8425e2ba520f491a57b25de6d

Comment by Kristina Chodorow (Inactive) [ 12/Sep/12 ]

Also, Dwight requested that it change sync targets if ping averages change.

Comment by auto [ 10/Sep/12 ]

Author:

{u'date': u'2012-09-10T07:53:03-07:00', u'email': u'kristina@10gen.com', u'name': u'Kristina'}

Message: Remove now-unneeded buildIndexes variable SERVER-5208

This is now checked in syncable().
Branch: master
https://github.com/mongodb/mongo/commit/d989e6ee5e74f08bbd7a812c3893ca6a49049155

Comment by Kristina Chodorow (Inactive) [ 16/Jul/12 ]

We should probably also re-evaluate when the status of the set changes (e.g., a different member becomes primary or something).

Comment by auto [ 06/Mar/12 ]

Author:

{u'login': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-4750: prevent syncing to secondaries with a slavedelay greater than yourself

After SERVER-5208, we can rework the logic here so that if a slavedelay'd node
is still ahead of us, we can use it for a little while and then once we're caught
up we'll reevaluate the cluster for better nodes to sync from.
Branch: master
https://github.com/mongodb/mongo/commit/e4f3f956888da028bb13a469f99941537f35f272

Generated at Thu Feb 08 03:08:13 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.