[SERVER-8420] GhostSync::percolate() should refresh dead cursors with OplogReader::tailCheck() Created: 31/Jan/13  Updated: 11/Jul/16  Resolved: 08/Apr/13

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 2.2.5, 2.4.3, 2.5.0

Type: Bug Priority: Critical - P2
Reporter: Aaron Staple Assignee: Eric Milkie
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Duplicate
is duplicated by SERVER-8073 Possible bug in primary's tracking of... Closed
Related
Operating System: ALL
Participants:

 Description   

If a ClientCursor is dropped between batches (or during a batch because of an exception like kill op) the DBClientCursor for this ClientCursor will become "isDead()". If the DBClientCursor 'cursor' held by an OplogReader is dead, OplogReader::haveCursor() still returns true. In order to detect cursors, OplogReader::tailCheck() must be called. GhostSync::percolate() should call OplogReader::tailCheck() before using an old cursor in its oplog reader. Otherwise, percolate() may repeatedly attempt to read from a dead cursor and fail to see any results.



 Comments   
Comment by auto [ 31/May/13 ]

Author:

{u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-8420 add a tailcheck to detect cursor deadness
Branch: v2.2
https://github.com/mongodb/mongo/commit/db3bc3e7e12c56a06a17b1d67bb1987da5b1e9af

Comment by auto [ 18/Apr/13 ]

Author:

{u'date': u'2013-04-18T17:55:26Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-9093 remove unit test in 2.4 branch (needs SERVER-8420)
Branch: v2.4
https://github.com/mongodb/mongo/commit/52c1e65d6fd86c84a116650ab072899a65585b7f

Comment by auto [ 18/Apr/13 ]

Author:

{u'date': u'2013-04-08T16:44:02Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-8420 add a tailcheck to detect cursor deadness
Branch: v2.4
https://github.com/mongodb/mongo/commit/0239789a5b1ef3057673288cb024e8ec286dbde3

Comment by auto [ 08/Apr/13 ]

Author:

{u'date': u'2013-04-08T16:44:02Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-8420 add a tailcheck to detect cursor deadness
Branch: master
https://github.com/mongodb/mongo/commit/d5fad724e291ca8af3b47e4622cc97a3a85b62a0

Generated at Thu Feb 08 03:17:23 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.