-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
ALL
-
-
None
-
None
-
None
-
None
-
None
-
None
-
None
A timeseries collection is really a view on top of an underlying 'system.buckets.<tsCollName>' collection.
Running dropIndexes() on the timeseries view namespace with its underlying buckets collection's UUID doesn't return CollectionUUIDMismatch.
This contradicts standard 'view' behavior where a CollectionUUIDMismatch would be returned with the 'expectedCollection' being the view name provided in the command.
Example behavior on a normal view:
db.students.insertMany([
{sID: 22001, name: "Alex", year: 1, score: 4.0},
{sID: 21001, name: "bernie", year: 2, score: 3.7},
{sID: 20010, name: "Chris", year: 3, score: 2.5},
{sID: 22021, name: "Drew", year: 1, score: 3.2},
{sID: 17301, name: "harley", year: 6, score: 3.1},
{sID: 21022, name: "Farmer", year: 1, score: 2.2},
{sID: 20020, name: "george", year: 3, score: 2.8},
{sID: 18020, name: "Harley", year: 5, score: 2.8},
]);
db.createView("firstYears", "students", [{$match: {year: 1}}]);
const studentsUUID = db.getCollectionInfos({name: "students"})[0].info.uuid;
// Running CRUD on the 'view' with the underlying collection's UUID fails
db.runCommand({find: "firstYears", collectionUUID: studentsUUID})
uncaught exception: Error: command failed: {
"ok" : 0,
"errmsg" : "Collection UUID does not match that specified",
"code" : 361,
"codeName" : "CollectionUUIDMismatch",
"db" : "test",
"collectionUUID" : UUID("ea08dba4-80a7-4bff-bc0f-8a1dc62812fd"),
"expectedCollection" : "firstYears",
"actualCollection" : "students"
}
- is related to
-
SERVER-87449 dropIndexes() CollectionUUIDMismatch has incorrect 'expectedCollection' on timeseries view
-
- Backlog
-