Upgrade 3.4.15 to 3.6.23 featureCompatibilityVersion error config.collection UUID missing

I upgraded our production cluster from 3.4 to 3.6 by swapping binaries all running on debian 9.13 EC2 instances. I followed this upgrade 3.6 upgrade replica set document.
Once all the mongos, mongod, and mongo config services were running as 3.6, I tried to set featureCompatibilityVersion to 3.6 and ran into the following error

errmsg" : "expected entry { _id: \"foo.bar\", lastmodEpoch: ObjectId('5af632cfbf0364e88776eccb'), lastmod: new Date(4294967304), dropped: false, key: { app_key: 1.0, created_at: 1.0 }, unique: false } in config.collections for foo.bar to have a UUID, but it did not",

I looked into the config database and found the following collections


In the cache.chunks.foo.bar there are some old records from 2016.

in cache.collections I see the following

mongodb_shard_rs01:PRIMARY> db.cache.collections.find();
{ "_id" : "foo.bar", "epoch" : ObjectId("5af632cfbf0364e88776eccb"), "key" : { "app_key" : 1, "created_at" : 1 }, "unique" : false, "refreshing" : false, "lastRefreshedCollectionVersion" : Timestamp(171, 1) }

My question is it safe to clear out this document or should I modify and add a UUID to the doc?

So it looks like the foo.bar collection was sharded and I needed to follow 3.6-upgrade-sharded-cluster.
I was able to shutdown the balancer and start the balancer and I needed to run the FCV update command from mongos vs running this on each primary in the replication sets.

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.