-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 1.7.0, 1.8.0, 1.8.2
-
Component/s: Replica Set
-
None
-
Environment:Tested with mongo-ruby-driver 43cef181f9ffeae033b15a7db74afc5736a35160 git (and earlier versions), against server:
{code}
[nelhage@anarchique:~]$ mongod --version
db version v2.2.1, pdfile version 4.5
Sun Nov 18 16:40:14 git version: d6764bf8dfe0685521b8bc7b98fd1fab8cfeb5ae
{/code}
from the PPA
I've opened a pull request with a failing test case demonstrating the bug here: https://github.com/mongodb/mongo-ruby-driver/pull/134
Excerpting that commit message, the issue is: If we do a secondary read that is large enough to require sending a GETMORE, and then do another query before the GETMORE, the secondary connection gets unpinned, and the GETMORE gets sent to the wrong server, resulting in CURSOR_NOT_FOUND, even though the cursor still exists on the server that was initially queried.
- related to
-
RUBY-545 KillCursors gets sent to wrong member
- Closed