This issue is to collect behavior changes worth noting in the release notes or which need special attention.
Can no longer load a config with an _id name different from what was specified by the " replSet" command line (or config file) option. Replica Set Config Restriction Can no longer have nodes with votes > 1 This was deprecated and printed a warning in mongod version 2.6
Arbiters can no longer have 0 votes Unrecognized fields in a config now produce an invalid config and an error, rather than the fields being ignored. Can no longer have "getLastErrorDefaults: .. w:0" in a config
Definition of w:'majority' write concern changed to mean majority of voting nodes. Removed the local.slaves collection. Information is in the 'repl' section of serverStatus – you must explicitly request via arg. Note: The local.slaves collection was a mirror of the internal map of all the slaves' replication progress
You cannot add a 2.6 (pre 2.6.6) member to a 2.8 replica set because initial sync may fail – specifically listDatabases may fail when the cloner runs on the 2.6 member talking to a 2.8 member since slaveOk is not set. We can no longer parse oplog entries without v:2 – such entries were created by MongoDB 2.2 and prior. A 2.8 secondary will abort if it encounters such oplog entries. Secondaries may abort if they replay an oplog from 2.4 or prior with an index build op that would normally fail on a 2.6 or later primary. Built-in webserver no longer has replication information.
- Adding a voting member to a two node set in which only one member votes will need force: true.
- We need to receive positive responses from a majority of voting members in a new config to accept that config.
- Initial sync
- Builds indexes more efficiently for each collection
- Now applies oplog entries in batches using threads, like normal application
Invalid Replica Set Config (votes>1, arbiter-no-vote) Will not load – fix on primary, then restart node Will be rejected leaving nodes with old config, until fixed on primary