summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Milkie <milkie@10gen.com>2013-04-08 12:44:02 -0400
committerDan Pasette <dan@10gen.com>2013-05-31 17:32:57 -0400
commitdb3bc3e7e12c56a06a17b1d67bb1987da5b1e9af (patch)
treeaebde49860bc8bf0e8040fb375c5d89a4d78fda5
parentd3f702443935daba7caf03366525b54028ee151e (diff)
downloadmongo-db3bc3e7e12c56a06a17b1d67bb1987da5b1e9af.tar.gz
SERVER-8420 add a tailcheck to detect cursor deadness
-rw-r--r--src/mongo/db/repl/rs_sync.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mongo/db/repl/rs_sync.cpp b/src/mongo/db/repl/rs_sync.cpp
index e8b5f7f47a0..dca12c0b40f 100644
--- a/src/mongo/db/repl/rs_sync.cpp
+++ b/src/mongo/db/repl/rs_sync.cpp
@@ -818,6 +818,9 @@ namespace replset {
}
try {
+ // haveCursor() does not necessarily tell us if we have a non-dead cursor, so we check
+ // tailCheck() as well; see SERVER-8420
+ slave->reader.tailCheck();
if (!slave->reader.haveCursor()) {
if (!slave->reader.connect(id, slave->slave->id(), target->fullName())) {
// error message logged in OplogReader::connect