SERVER-79630 in 8.0 we introduced a check that would prevent completion of FCV upgrade to 8.0 in the presence of system.buckets collection without timeseries options.
We discovered that it is actually not uncommon for users to have inconsistent buckets collections. In fact, they can end-up in this inconsistent state due to bugs like SERVER-87678 or by explicitly creating an inconsistent bucket collection through the create command.
So if a user with such an inconsistent bucket collection try to upgrade to FCV 8.0 it will get stuck in the kUpgrading phase, and it won't be able to complete the upgrade process until they fix the inconsistency. Additionally, since they already entered into the kUpgrading phase they won't be able to abort the FCV upgrade.
Moreover, in Atlas, backup taken in this state (kUpgrading + inconsistent bucket collection) are unusable. In fact Atlas require to complete the FCV upgrade process after restoring the backup and before allowing the cluster to be used.
The goal of this ticket is to relax the check introduced in SERVER-79630 and allow customer with inconsistent buckets collection to upgrade to FCV 8.0
SERVER-79630 also added a check to prevent the creation of new inconsistent buckets collection that we want to maintain.
- depends on
-
SERVER-99345 Prevent sharding/moving a time-series buckets collection without the 'timeseries' options on FCV 8.0+
- Closed
- related to
-
SERVER-87678 `createIndex` may create bucket collection after timeseries is dropped
- Backlog
-
SERVER-79630 Disallow creating and preventing upgrading with system.buckets namespaces which aren't timeseries collections
- Closed
-
SERVER-89999 Remove DisallowBucketCollectionWithoutTimeseriesOptions feature flag
- Backlog