Details
-
Bug
-
Status: Done
-
Medium
-
Resolution: Fixed
-
None
-
None
-
None
-
Yes
Description
If the creation of a timeseries collection was captured by oplog, it will cause mongod failure during (sometimes after) the restore.
{"t":{"$date":"2022-08-10T14:59:23.606+00:00"},"s":"F", "c":"ASSERT", "id":23081, "ctx":"conn130","msg":"Invariant failure","attr":{"expr":"isTimeseriesBucketsCollection()","msg":"test.tmpAvOB6.create","file":"src/mongo/db/namespace_string.cpp","line":404}}{"t":{"$date":"2022-08-10T14:59:23.606+00:00"},"s":"F", "c":"ASSERT", "id":23082, "ctx":"conn130","msg":"\n\n***aborting after invariant() failure\n\n"}{"t":{"$date":"2022-08-10T14:59:23.606+00:00"},"s":"F", "c":"CONTROL", "id":4757800, "ctx":"conn130","msg":"Writing fatal message","attr":{"message":"Got signal: 6 (Aborted).\n"}}
`tmp%%%%%.create` being created by mongo during applyOps when UUID is preserved. But it apparently doesn't work well with the timeseries collections.
To avoid this we'd have to recreate UUID for ts collections. Be aware of sharded ts collections in that case. Then we'd have to change UUID in `config.collections` on config server.