summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordwight <dwight@10gen.com>2010-10-30 15:41:35 -0400
committerEliot Horowitz <eliot@10gen.com>2010-11-20 01:02:26 -0500
commiteb66a29554f56fd2dd858affa033be090c968355 (patch)
tree250ff5f684322abbea30b66a5b2107dfd1d5ecbd
parent119dba996e6fb00ac00ec9f446e503c09ec26e99 (diff)
downloadmongo-eb66a29554f56fd2dd858affa033be090c968355.tar.gz
rs fix initial sync oplog application it was grabbing the whole oplog which can be problematic and inefficient 165
-rw-r--r--db/repl/rs_sync.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/db/repl/rs_sync.cpp b/db/repl/rs_sync.cpp
index 9ea65cfe35b..9de3f60f286 100644
--- a/db/repl/rs_sync.cpp
+++ b/db/repl/rs_sync.cpp
@@ -70,7 +70,14 @@ namespace mongo {
return false;
}
- r.query(rsoplog, bo());
+ {
+ BSONObjBuilder q;
+ q.appendDate("$gte", applyGTE.asDate());
+ BSONObjBuilder query;
+ query.append("ts", q.done());
+ BSONObj queryObj = query.done();
+ r.query(rsoplog, queryObj);
+ }
assert( r.haveCursor() );
/* we lock outside the loop to avoid the overhead of locking on every operation. server isn't usable yet anyway! */