[DRIVERS-213] Make special commands (inprog, killop, unlock) go through the standard command codepath Created: 25/Mar/15  Updated: 27/May/22  Resolved: 21/Jun/16

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Barrie Segal Assignee: Christian Amor Kvalheim
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CDRIVER-888 Make special commands (inprog, killop... Closed
depends on CXX-683 Make special commands (inprog, killop... Closed
depends on CXX-684 Make special commands (inprog, killop... Closed
depends on JAVA-1719 Re-implement Mongo.unlock and Mongo.i... Closed
depends on PHPLIB-126 Make special commands (inprog, killop... Closed
depends on PYTHON-979 Use fsyncUnlock and currentOp command... Closed
depends on RUST-22 Make special commands (inprog, killop... Closed
depends on CSHARP-1362 Support new Find server commands Closed
depends on SERVER-7775 Make special commands (inprog, killop... Closed
Server Compat: 3.1
Driver Compliance:
Key Status/Resolution FixVersion
JAVA-1719 Done 3.2.0
PYTHON-979 Done 3.2
PERL-558 Done 1.2.0
CXX-684 Done
CDRIVER-888 Done 1.2.0
CXX-683 Won't Fix
PHPLIB-126 Won't Fix
CSHARP-1362 Done 2.2
RUST-22 Works as Designed

 Description   

Previously killOp, currentOp, and fsyncUnlock were implemented as queries on special system collections.

There are all being re-implemented as normal commands, with names taken from the corresponding shell helpers.

The name of command for the old "$cmd.sys.killop" system collection will be "killOp". As before it will have an "op" parameter indicating the operation that is being killed.

The name of the command for the old "$cmd.sys.unlock" system collection will be "fsyncUnlock" (to match fsyncLock).

The name of the command for the old "$cmd.sys.inprog" system collection will be "currentOp".

The behavior of the actual commands will be nearly unchanged - except for slightly improved error handling for incorrect parameter types.

UPDATE: there is a minor behavior change in currentOp/inprog - the currentOp operation itself will now appear in the "inprog" array of returned operations (similar to 'ps' on unix systems).

The server will deprecate the system collections in MongoDB 3.2.x. We anticipate that they will be removed in subsequent releases.



 Comments   
Comment by Andrew Morrow (Inactive) [ 02/Nov/15 ]

The C++11 driver does not offer these helpers so no changes are needed.

Comment by Mark Benvenuto [ 28/Oct/15 ]

C++ Legacy driver does not have wrappers for inprog, killop, or unlock.

Comment by Hannes Magnusson [ 02/Oct/15 ]

mongoc used inprog for testing (making sure the user can provide fully qualified namespace to the command helper). Fixed now.

Generated at Thu Feb 08 08:21:00 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.