diff options
author | dwight <dwight@10gen.com> | 2010-10-30 15:41:35 -0400 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2010-11-20 01:02:26 -0500 |
commit | eb66a29554f56fd2dd858affa033be090c968355 (patch) | |
tree | 250ff5f684322abbea30b66a5b2107dfd1d5ecbd | |
parent | 119dba996e6fb00ac00ec9f446e503c09ec26e99 (diff) | |
download | mongo-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.cpp | 9 |
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! */ |