|
mongod replicates operations on the system.profile collection, which cannot be applied by secondaries.
Reproduce with the following shell script:
var rst = new ReplSetTest({nodes: 2});
|
rst.startSet();
|
rst.initiate();
|
assert.writeOK(rst.getPrimary().getDB("test").system.profile.insert({}));
|
rst.awaitReplication();
|
When run against mongod version 3.0.2, the secondary trips the following fatal assertion:
m31001| 2015-04-17T19:27:57.786-0400 E REPL [repl writer worker 15] writer worker caught exception: :: caused by :: 10156 cannot update system collection: test.system.profile q: { _id: ObjectId('553196fbbd29dfa216a257c4') } u: { _id: ObjectId('553196fbbd29dfa216a257c4') } on: { ts: Timestamp 1429313275000|2, h: -5983586001124027387, v: 2, op: "i", ns: "test.system.profile", o: { _id: ObjectId('553196fbbd29dfa216a257c4') } }
|
m31001| 2015-04-17T19:27:57.786-0400 I - [repl writer worker 15] Fatal Assertion 16360
|
m31001| 2015-04-17T19:27:57.786-0400 I - [repl writer worker 15]
|
m31001|
|
m31001| ***aborting after fassert() failure
|
This issue has been fixed for 3.1.2 by 1725d76f as a side-effect of SERVER-17573 work. However, a direct fix should be made on the v3.0 and v2.6 branches.
|