[SERVER-4853] getMore doesn't check RS state Created: 02/Feb/12  Updated: 11/Jul/16  Resolved: 23/Feb/12

Status: Closed
Project: Core Server
Component/s: Querying, Replication
Affects Version/s: None
Fix Version/s: 2.1.1

Type: Bug Priority: Major - P3
Reporter: Kristina Chodorow (Inactive) Assignee: Kristina Chodorow (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Participants:

 Description   

Which means a replica set can happily attempt to sync from a recovering member.



 Comments   
Comment by Kristina Chodorow (Inactive) [ 23/Feb/12 ]

The shell behavior is questionable, as it doesn't throw an exception on cursor.next() unless it's on the first result. However, the db, at least, behaves properly.

Comment by auto [ 23/Feb/12 ]

Author:

{u'login': u'kchodorow', u'name': u'Kristina', u'email': u'kristina@10gen.com'}

Message: Fix compile SERVER-4853
Branch: master
https://github.com/mongodb/mongo/commit/51fbd62859b801431cad4625804dfadbe26e6496

Comment by auto [ 23/Feb/12 ]

Author:

{u'login': u'kchodorow', u'name': u'Kristina', u'email': u'kristina@10gen.com'}

Message: getMore uasserts when RS member becomes unreadable SERVER-4853
Branch: master
https://github.com/mongodb/mongo/commit/9c14d20cf59b24846339a3145091894d85b217a1

Comment by Kristina Chodorow (Inactive) [ 10/Feb/12 ]

getMore always catches uasserts and just returns 0 results to the client. I'm going to assume it should return an error if an RS member becomes unreadable, so that the client doesn't get confused about getting back fewer results than expected or immediately re-querying the same server.

Is there a reason we do not return getMore errors?

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