As described in https://docs.mongodb.com/v3.4/reference/limits/#indexes, mongod inforces a limits of 128 characters for the combination of index_name and database_name when creating indexes. (Similar restrictions apply to collection names for the creation of collections.)
This can cause errors when unloading / reloading data (e.g., with mongodump and mongorestore) to create test environments in which the database names may differ from the original source.
For example, when unloading data/indexes from a production database named abc and loading into a database named abc-uat-2018jan29 for testing purposes, index names that had been legal in the source database may no longer be legal in the destination database.
Although this can be resolved by renaming indexes, doing so violates testing protocols, as hinted queries will no longer function equivalently (without change) in both environments.
To overcome this, it would be helpful if separate and independent limits were enforced on database names and on index / collection names; this would ensure that any collection or indexe that can be successfully created in one database can be exported and imported into any other database.
- is related to
-
TOOLS-2497 mongorestore may incorrectly validate index name length before calling createIndexes
- Closed
-
SERVER-38075 Increase namespace size
- Closed
-
SERVER-29747 Two phase drops: drop indexes before renaming collections if the rename will make the index name too long
- Closed
-
SERVER-35752 Ensure tests that rely on FCV pass after updating FCV constants.
- Closed
- related to
-
SERVER-35824 support for long index namespaces should depend on FCV
- Closed