[SERVER-5058] mongos should update config seed based on rs version Created: 23/Feb/12  Updated: 10/Dec/14  Resolved: 02/May/14

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 2.0.2
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Greg Studer Assignee: Randolph Tan
Resolution: Done Votes: 0
Labels: revisit
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-9034 Return rs config version from isMaster Closed
Related
related to SERVER-6463 Mongos sets shard host string to "set... Closed
related to SERVER-4731 Removed replica set nodes should not ... Closed
related to SERVER-6841 Repl set seed list in shard config ca... Closed
related to SERVER-6972 C++ driver should use isMaster, not r... Closed
is related to SERVER-5612 Possible for empty replica set string... Closed
is related to SERVER-6512 ReplicaSetMonitor::_checkConnection d... Closed
Participants:

 Description   

EDIT : previous issue resolved in linked ticket.

Mongos should be aware of the current replica set config version, and only update the config seed when this rs config version changes.

Also, we should track hidden nodes, for better handling of cases when all visible nodes need to be reconfigured.

The related bugs SERVER-4731 and SERVER-6512 can cause issues when a node is removed from a replica set in a sharded cluster, without first shutting down the node to be removed.

The symptoms include:

  • mongos nodes reporting errors when on requests from client applications and having to be restarted
  • config server and replica set configuration errors

While there was not a specific fix for the problem in version 2.2, other changes made in 2.2 mean that the issues this ticket is linked to should not occur in 2.2.x. The related bugs, SERVER-4731 and SERVER-6512, have specific fixes in version 2.2.

This issue is still open for the completion of the more defensive fix mentioned above.

For 2.0.x (< 2.0.8) releases, the workaround is to ensure that you shutdown a node before removing it from a replica set in a sharded environment.

Version 2.0.8 includes a fix for SERVER-6463 which should resolve the actual issues seen by users here.



 Comments   
Comment by Greg Studer [ 02/May/14 ]

Issue is no longer applicable with replica set monitor changes and current future directions.

Comment by Greg Studer [ 19/Nov/12 ]

This ticket now tracks work on a better rs config seed update behavior, though the current behavior is now safe due to the fixing of SERVER-4731 and SERVER-6512.

Comment by Greg Studer [ 24/Feb/12 ]

This is essentially the same issue as SERVER-4731 - but keeping open for the mongos fix (which will work in 2.0 and greater versions) where we only remove replica set members from the shard seed list if a primary indicates a new replica set configuration.

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