[SERVER-2816] invalidating cursors for one collection may kill cursors for another collection Created: 22/Mar/11  Updated: 12/Jul/16  Resolved: 07/Apr/11

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: 1.9.0

Type: Bug Priority: Major - P3
Reporter: Aaron Staple Assignee: Mathias Stearn
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-2756 fewer than expected documents in capp... Closed
Related
is related to SERVER-2454 Queries that are killed during a yiel... Closed
Operating System: ALL
Participants:

 Description   

/* todo: this implementation is incomplete. we use it as a prefix for dropDatabase, which
works fine as the prefix will end with '.'. however, when used with drop and
dropIndexes, this could take out cursors that belong to something else – if you
drop "foo", currently, this will kill cursors for "foobar".
*/
void ClientCursor::invalidate(const char *nsPrefix) {

This gets called for example when we drop a collection or an index in a collection, rename a collection, etc.

This also has implications for cases where we return partial data when a yield cursor is dropped.



 Comments   
Comment by auto [ 07/Apr/11 ]

Author:

{u'login': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: Fix and cleanup ClientCursor::invalidate() SERVER-2816
Branch: master
https://github.com/mongodb/mongo/commit/3cff88123ec7a00a8addcc0f61d0f9b73eabf261

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