mongos sends the authSchemaUpgrade command to each individual shard here, but provides a 30sec wtimeout and writeConcern majority rather than passing on what the user gave it. The command object is built here:
BSONObjBuilder cmdObjBuilder; cmdObjBuilder.append("authSchemaUpgrade", 1); cmdObjBuilder.append("maxSteps", maxSteps); cmdObjBuilder.append("writeConcern", kMajorityWriteConcern.toBSON());
with the following hard-coded writeConcern:
const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority, // Note: Even though we're setting UNSET here, // kMajority implies JOURNAL if journaling is // supported by this mongod. WriteConcernOptions::SyncMode::UNSET, Seconds(30));