Critical - P2
When a config server is started with mongod --configsvr and no explicit dbpath is specified with --dbpath, MongoDB should use the default /data/configdb instead of /data/db for regular mongod nodes. A bug in the option parser causes config servers to also use the default /data/db.
Sharded clusters that do not set an explicit dbpath for their config server mongod processes and rely on the default values are affected by this issue.
The issue is exacerbated in the case where a config server and a regular mongod are co-located on the same host, and both processes rely on default dbpaths. In that case, the config server might read from the regular mongod dbpath, which can lead to undefined behavior and cluster instability.
Always specify the dbpath explicitly with the --dbpath option for all mongod processes, including config servers.
Production release versions from 2.6.0 to 2.6.3 are affected by this issue.
The fix is included in the 2.6.4 production release.
The config parser's params.count() did not distinguish between default and non-default options. This has been fixed to restore the default dbpath /data/configdb when using the --configsvr option.
We've discovered an undocumented backward-incompatible change when upgrading our sharded cluster from MongoDB 2.4 to 2.6.
On 2.4, mongod defaults to `/data/configdb` for the dbpath.
On 2.6, mongod defaults to `/data/db` for the dbpath.
This change must be documented in the Upgrade Documentation but is not currently. If the deployment relies on the default path for the configdb, following the upgrade procedure will take down the entire cluster.