[SERVER-31157] FCV defaults to 3.4 on 3.5.13 for initialized shards Created: 19/Sep/17  Updated: 27/Oct/23  Resolved: 19/Sep/17

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

Type: Bug Priority: Major - P3
Reporter: Louisa Berger Assignee: Backlog - Storage Execution Team
Resolution: Works as Designed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Storage Execution
Operating System: ALL
Steps To Reproduce:
  1. Start replica set with --shardsvr :

    > 3.5.13/bin/mongod --replSet a --dbpath a --port 6000 --shardsvr
    > 3.5.13/bin/mongod --replSet a --dbpath b --port 6001 --shardsvr
    > 3.5.13/bin/mongod --replSet a --dbpath c --port 6002 --shardsvr
    

  2. Initiate replica set

    > rs.initiate({_id:"a", members : [ {_id:0, host:"louisa-host:6000"}, {_id:1, host:"louisa-host:6001"}, {_id:2, host:"louisa-host:6002"}]})
    { "ok" : 1 }
    

  3. FeatureCompatibilityVersion is defaulted to 3.4

    a:PRIMARY> db.runCommand({"getParameter" : 1, featureCompatibilityVersion:1})
    { "featureCompatibilityVersion" : "3.4", "ok" : 1 }
    

    (also on secondary):

    a:SECONDARY> db.runCommand({"getParameter" : 1, featureCompatibilityVersion:1})
    { "featureCompatibilityVersion" : "3.4", "ok" : 1 }
    

Sprint: Storage 2017-10-02
Participants:

 Description   

Brought up a replica set with --shardsvr on 3.5.13. After the members are all healthy, the FCV is defaulted to 3.4 on all shard members.

This then causes problems when I try to run sharding commands on the cluster :

mongos> db.runCommand({"shardCollection" : "MMS-AUTO_TEST_DIR.coll1", "key" : {"a" : 1}})
{
	"ok" : 0,
	"errmsg" : "expected primary shard to return a UUID for collection MMS-AUTO_TEST_DIR.coll1 as part of 'info' field but got { name: \"coll1\", type: \"collection\", options: {}, info: { readOnly: false }, idIndex: { v: 2, key: { _id: 1 }, name: \"_id_\", ns: \"MMS-AUTO_TEST_DIR.coll1\" } }",
	"code" : 1,
	"codeName" : "InternalError",
	"$clusterTime" : {
		"clusterTime" : Timestamp(1505837355, 6),
		"signature" : {
			"hash" : BinData(0,"kXw/D8QqlXe1+EjeDFwGcSpd0Uc="),
			"keyId" : NumberLong("6467521737553608705")
		}
	},
	"operationTime" : Timestamp(1505837355, 6)
}

Esha identified that these are because the shard members are on FCV=3.4, but the rest of the cluster are on FCV=3.6.

(Note: not sure if this is intended behavior or not, but Maria mentioned I should file a ticket. Happy to adjust our tests to accommodate if this is intended behavior)



 Comments   
Comment by Maria van Keulen [ 19/Sep/17 ]

I spoke with louisa.berger and confirmed that addShard was not run during this test due to special behavior in the testing framework, thus this InternalError is expected. The testing framework will be modified to accommodate this issue. I will re-close as Works as Designed.

Comment by Maria van Keulen [ 19/Sep/17 ]

I am going to research more about the internal error and re-open in the meantime.

Comment by Maria van Keulen [ 19/Sep/17 ]

I spoke with tess.avitabile about this—replica sets started with shardsvr default to FCV=3.4 until their FCV is set by the config server on a call to addShard. I will close this as Works As Designed.

Comment by Daniel Pasette (Inactive) [ 19/Sep/17 ]

I just took a quick look, if you start with either of the command line options shardsvr or replSet the mongod sets FCV to 3.4. If you start in standalone mode mongod sets FCV to 3.6

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