[SERVER-1582] add more things to "features" command Created: 06/Aug/10 Updated: 25/Aug/17 Resolved: 25/Aug/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Admin |
| Affects Version/s: | 1.6.0 |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Minor - P4 |
| Reporter: | Scott Hernandez (Inactive) | Assignee: | Unassigned |
| Resolution: | Incomplete | Votes: | 2 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
Add: |
| Comments |
| Comment by Ian Whalen (Inactive) [ 25/Aug/17 ] |
|
This ticket is better represented by a project going through our standard design process. Any specific requests still unresolved here should go through a new, more specific SERVER ticket. |
| Comment by Christian Amor Kvalheim [ 05/Jan/12 ] |
|
"findAndModify": {"replicaSetSafeCompatible":true}Allows the driver to detect if findAndModify supports safe with w and wtimeout and can drop the lastError followup command (it takes safe but only safe=true) |
| Comment by Eliot Horowitz (Inactive) [ 05/Jan/12 ] |
|
Not sure it actually makes sense to send it. |
| Comment by Scott Hernandez (Inactive) [ 05/Jan/12 ] |
|
How should this non-command information be communicated to the clients/drivers in a machine readable way? I don't really care if they fit in this "features" command as long as they are somewhere accesible. |
| Comment by Eliot Horowitz (Inactive) [ 05/Jan/12 ] |
|
What I was saying is that we could add the list of paramters to listCommands if we're going to add it anywhere. |
| Comment by Scott Hernandez (Inactive) [ 05/Jan/12 ] |
|
Kristina: as few as possible, yes The problem isn't that we don't have a list of commands, but that they don't define what options are valid and the client could use. ListCommands doesn't expose this at all, nor do the commands defined this. We need to communicate somehow what the server support in terms of query/update operators. Where do we expose this? |
| Comment by Eliot Horowitz (Inactive) [ 05/Jan/12 ] |
|
I'm not sure the non-command stuff makes sense. |
| Comment by Eliot Horowitz (Inactive) [ 05/Jan/12 ] |
|
listCommands already gives the list of commands |
| Comment by Scott Hernandez (Inactive) [ 05/Jan/12 ] |
|
Okay, but the non-command stuff should go here still? Are you just suggesting that the command related stuff not be here? It seems reasonable that each command def. include this type of information and it be exposed in listCommands. |
| Comment by Kristina Chodorow (Inactive) [ 05/Jan/12 ] |
|
@Eliot: the point is to have a single request the drivers can make to find out what the capabilities of a server are. If not features, something else. |
| Comment by Eliot Horowitz (Inactive) [ 05/Jan/12 ] |
|
This doesn't belong in features. |
| Comment by Scott Hernandez (Inactive) [ 05/Jan/12 ] |
|
Features should include things like if the aggregation framework exists, and what operations are valid for those features (for aggregation it would be pipelines/operations). Here is kinda what I'm thinking: >db.runCommand("features") , , , , , , |
| Comment by Mathias Stearn [ 04/Apr/11 ] |
|
Holding off on this for now since the features command is shared between mongos and mongod and most of those dont' make sense from a mongos. |
| Comment by Scott Hernandez (Inactive) [ 06/Aug/10 ] |
|
I understand it was vague, and I guessed my intent was obvious but clearly assumptions were made on my side Is there a list of valid operators and modifiers anywhere? In the case when the server returns $or not a valid operation for example, it would be good to be able to list the valid operators. Can that be added as well, if it isn't anywhere else. |
| Comment by Eliot Horowitz (Inactive) [ 06/Aug/10 ] |
|
I'm sorry I didn't fully answer your question - but this is fairly a very vague request. |
| Comment by Scott Hernandez (Inactive) [ 06/Aug/10 ] |
|
This is what I get for the features command: { "js" : { "utf8" : true }, "oidMachine" : 4773, "ok" : 1 } Where is the maxBSONSize? Where is the list of operators and modifiers supported by the server? Where is the information about cursors or tablescans being supported on the server? I can understand if you don't like this idea, but please say that instead of sending me to something that provides none of the support which I'm asking for. Eliot, it is a little infuriating to have things that don't exist, and are useful, being described as "Works as Designed" and "Closed", and therefor ignored. |
| Comment by Eliot Horowitz (Inactive) [ 06/Aug/10 ] |
|
see: |