summaryrefslogtreecommitdiff
path: root/src/mongo/db/op_observer.cpp
diff options
context:
space:
mode:
authorEric Milkie <milkie@10gen.com>2015-12-02 12:50:10 -0500
committerEric Milkie <milkie@10gen.com>2015-12-02 13:59:07 -0500
commit5ddccc24064e5a9c90d20511bcf1b6fa625ee9b3 (patch)
tree474cf11055605e4954e6939eca4ac1a56542734e /src/mongo/db/op_observer.cpp
parentf5e927ea49ba48a3576d04c02c79c4c725c1069f (diff)
downloadmongo-5ddccc24064e5a9c90d20511bcf1b6fa625ee9b3.tar.gz
SERVER-21726 do not log no-op updates in all cases, not just for inplace-supported storage engines
Diffstat (limited to 'src/mongo/db/op_observer.cpp')
-rw-r--r--src/mongo/db/op_observer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/op_observer.cpp b/src/mongo/db/op_observer.cpp
index 6e5d6161d96..fc2f4485b53 100644
--- a/src/mongo/db/op_observer.cpp
+++ b/src/mongo/db/op_observer.cpp
@@ -76,6 +76,11 @@ void OpObserver::onInserts(OperationContext* txn,
}
void OpObserver::onUpdate(OperationContext* txn, oplogUpdateEntryArgs args) {
+ // Do not log a no-op operation; see SERVER-21738
+ if (args.update.isEmpty()) {
+ return;
+ }
+
repl::logOp(txn, "u", args.ns.c_str(), args.update, &args.criteria, args.fromMigrate);
getGlobalAuthorizationManager()->logOp(txn, "u", args.ns.c_str(), args.update, &args.criteria);