Details
-
Bug
-
Resolution: Won't Fix
-
Major - P3
-
None
-
None
-
None
-
Replication
-
ALL
Description
applyOps with a createIndexes command reports success when given a non-existent UUID but it is actually a no-op.
> db.adminCommand({applyOps: [{op:"c", ui: UUID("a0aff12b-0a98-429b-9f2a-892b57fcdbd5"), ns: "test.$cmd", o: {createIndexes: "test", key: {a:1}, name: "a_1"}}]}); |
{
|
"applied" : 1, |
"results" : [ |
true |
],
|
"ok" : 1, |
"operationTime" : Timestamp(1535665569, 1), |
"$clusterTime" : { |
"clusterTime" : Timestamp(1535665569, 1), |
"signature" : { |
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), |
"keyId" : NumberLong(0) |
}
|
}
|
}
|
> db.test.getIndexes()
|
[ ]
|
> db.getCollectionInfos()
|
[ ]
|
I think it would make more sense for applyOps to report an error in this case.
The same behavior exists on 3.6 and 4.0.
Attachments
Issue Links
- related to
-
SERVER-32952 applyOps does not validate updates
-
- Backlog
-