blob: 4e525d4fc93abed061a34bc30da7063a623d04b5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
// This tests that metadata commands run against the system.profile collection are not replicated
// to the secondary.
(function() {
"use strict";
var rst = new ReplSetTest({nodes: 2});
rst.startSet();
rst.initiate();
rst.awaitReplication();
// filter out noop writes
var getLatestOp = function() {
return primaryDB.getSiblingDB('local')
.oplog.rs.find({op: {$ne: 'n'}})
.sort({$natural: -1})
.limit(1)
.next();
};
var primaryDB = rst.getPrimary().getDB('test');
assert.writeOK(primaryDB.foo.insert({}));
var op = getLatestOp();
// Enable profiling on the primary
assert.commandWorked(primaryDB.runCommand({profile: 2}));
assert.eq(op, getLatestOp(), "oplog entry created when profile was enabled");
assert.writeOK(primaryDB.foo.insert({}));
op = getLatestOp();
assert.commandWorked(primaryDB.runCommand({profile: 0}));
assert.eq(op, getLatestOp(), "oplog entry created when profile was disabled");
// dropCollection
assert(primaryDB.system.profile.drop());
assert.eq(op, getLatestOp(), "oplog entry created when system.profile was dropped");
assert.commandWorked(primaryDB.createCollection("system.profile", {capped: true, size: 1000}));
assert.eq(op, getLatestOp(), "oplog entry created when system.profile was created");
assert.commandWorked(primaryDB.runCommand({profile: 2}));
assert.writeOK(primaryDB.foo.insert({}));
op = getLatestOp();
assert.commandWorked(primaryDB.runCommand({profile: 0}));
// emptycapped the collection
assert.commandWorked(primaryDB.runCommand({emptycapped: "system.profile"}));
assert.eq(op, getLatestOp(), "oplog entry created when system.profile was emptied via emptycapped");
assert(primaryDB.system.profile.drop());
rst.stopSet();
})();
|