-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Cluster Scalability
-
Cluster Scalability Priorities
-
3
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Currently, a reshard operation would force the search index to be rebuilt. As a temporary measure, we should abort resharding if we find out that the collection has search indexes. If users really want to perform resharding, they must drop the search indexes first.
Notes:
- We can use the listSearchIndexes command to find out if there are search indexes in the shard https://www.mongodb.com/docs/atlas/atlas-search/manage-indexes/?deployment-type=self&interface=driver&language=nodejs#view-mongodb-search-indexes-21
- search indexes are local property of a shard, so it might make more sense to add the check in the resharding donors (or alternatively, have the coordinator send the listSearchIndexes commands to check the donor shards before initializing).
- search indexes are created via createSearchIndex and doesn't generate an oplog entry. This command is mongod only, so it does not use the DDL coordinator. We do not plan to address the race with resharding and currently accept this limitation.