|
Sorry, I've been out. Taking a closer look now.
I think I looked at something backwards. The problem was that the UUID had a value, but the FCV was at 3.4. tess.avitabile It looks like you have already commented on BF-10067 that this is working as designed and that the fuzzer should be updated to avoid these type of commands on 3.6.
|
|
david.bradford, I am not observing this issue. It looks like the applyOps command does validate the type of the UUID:
> db.runCommand({applyOps: [{op: "c", ns: "test.$cmd", o: {create: "c"}, ui: undefined}]})
|
{
|
"applied" : 1,
|
"code" : 207,
|
"codeName" : "InvalidUUID",
|
"errmsg" : "uuid must be a 16-byte binary field with UUID (4) subtype",
|
"results" : [
|
false
|
],
|
"ok" : 0
|
}
|
> db.runCommand({applyOps: [{op: "c", ns: "test.$cmd", o: {create: "c"}, ui: null}]})
|
{
|
"applied" : 1,
|
"code" : 207,
|
"codeName" : "InvalidUUID",
|
"errmsg" : "uuid must be a 16-byte binary field with UUID (4) subtype",
|
"results" : [
|
false
|
],
|
"ok" : 0
|
}
|
> db.runCommand({applyOps: [{op: "c", ns: "test.$cmd", o: {create: "c"}, ui: 1}]})
|
{
|
"applied" : 1,
|
"code" : 207,
|
"codeName" : "InvalidUUID",
|
"errmsg" : "uuid must be a 16-byte binary field with UUID (4) subtype",
|
"results" : [
|
false
|
],
|
"ok" : 0
|
}
|
> db.runCommand({applyOps: [{op: "c", ns: "test.$cmd", o: {create: "c"}, ui: "bad"}]})
|
{
|
"applied" : 1,
|
"code" : 207,
|
"codeName" : "InvalidUUID",
|
"errmsg" : "uuid must be a 16-byte binary field with UUID (4) subtype",
|
"results" : [
|
false
|
],
|
"ok" : 0
|
}
|
Am I missing something in how I should try to reproduce this?
|