summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/rs_rollback.cpp
diff options
context:
space:
mode:
authormatt dannenberg <matt.dannenberg@10gen.com>2014-05-29 13:31:09 -0400
committermatt dannenberg <matt.dannenberg@10gen.com>2014-05-30 10:49:47 -0400
commit1440087f1b43df9f46468ee259016d3e99d728af (patch)
tree5e2c9c80276074c901b2401fc91925c56ef8e971 /src/mongo/db/repl/rs_rollback.cpp
parent38ff08a613439b254e66d2cc2a040270986445a8 (diff)
downloadmongo-1440087f1b43df9f46468ee259016d3e99d728af.tar.gz
SERVER-13575 log rollback operation progress every 10 seconds
also stop double counting deletes from non-capped collections
Diffstat (limited to 'src/mongo/db/repl/rs_rollback.cpp')
-rw-r--r--src/mongo/db/repl/rs_rollback.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/db/repl/rs_rollback.cpp b/src/mongo/db/repl/rs_rollback.cpp
index efdcee062a2..9d07024e16a 100644
--- a/src/mongo/db/repl/rs_rollback.cpp
+++ b/src/mongo/db/repl/rs_rollback.cpp
@@ -493,9 +493,18 @@ namespace repl {
map<string,shared_ptr<Helpers::RemoveSaver> > removeSavers;
unsigned deletes = 0, updates = 0;
+ time_t lastProgressUpdate = time(0);
+ time_t progressUpdateGap = 10;
for (list<pair<DocID, BSONObj> >::iterator it = goodVersions.begin();
it != goodVersions.end();
it++) {
+ time_t now = time(0);
+ if (now - lastProgressUpdate > progressUpdateGap) {
+ log() << "replSet " << deletes << " delete and "
+ << updates << " update operations processed out of "
+ << goodVersions.size() << " total operations";
+ lastProgressUpdate = now;
+ }
const DocID& doc = it->first;
BSONObj pattern = doc._id.wrap(); // { _id : ... }
try {
@@ -566,7 +575,6 @@ namespace repl {
}
}
else {
- deletes++;
deleteObjects(&txn,
ctx.db(),
doc.ns,