summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Milkie <milkie@10gen.com>2013-04-08 12:44:02 -0400
committerEric Milkie <milkie@10gen.com>2013-04-18 12:11:38 -0400
commit0239789a5b1ef3057673288cb024e8ec286dbde3 (patch)
treec3d1fb7ac3bbd64148564204c7721be67a5f481b
parente01102d1dfdfe64293bd7db38d798da87c48c01a (diff)
downloadmongo-0239789a5b1ef3057673288cb024e8ec286dbde3.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 07d2636803d..7d43b3ac466 100644
--- a/src/mongo/db/repl/rs_sync.cpp
+++ b/src/mongo/db/repl/rs_sync.cpp
@@ -857,6 +857,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