[SERVER-20184] find commands on old-style system collections doesn't work Created: 28/Aug/15  Updated: 31/Aug/15  Resolved: 28/Aug/15

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

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

Issue Links:
Related
related to SERVER-7775 Make special commands (inprog, killop... Closed
Operating System: ALL
Participants:

 Description   

For drivers that are implementing the find command, but not yet implementing currentOp (or other new DB commands), we still need to query on system collections.

In this particular case, PyMongo is still calling find on $cmd.sys.inprog, but is getting no response because the server isn't expecting a driver to use a new-style find on a system collection.

If this isn't going to be implemented, perhaps it can be better documented?



 Comments   
Comment by J Rassi [ 28/Aug/15 ]

The find command won't accept $cmd or $cmd.* collections. This is in line with the behavior of all existing commands that access collections (aggregate, update, findAndModify, etc). Drivers will have to either use the new command replacements for "pseudo-commands" (fsyncUnlock, killOp, currentOp), or access the legacy $cmd.sys.* collections with OP_QUERY (I'm not aware at the moment of which approach is preferred).

As such, I'm closing this ticket as "Works as Designed". By "better documented", do you mean in the find command documentation or in the find command spec? I'd be happy to have the latter updated if it doesn't point this out explicitly, but the former has not yet been written yet as far as I'm aware.

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