[SERVER-73442] The type of the "bits" field can differ between createIndexes and listIndexes Created: 30/Jan/23  Updated: 06/Jun/23

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Janna Golden Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-77828 listIndexes should report expireAfter... Closed
related to SERVER-73874 clean up geo_small_large.js and initi... Closed
is related to SERVER-74305 APIStrict validation is not performed... Backlog
is related to SERVER-69750 For certain index options, $listCatal... Closed
is related to SERVER-73858 Inconsistent error handling in singe-... Closed
Assigned Teams:
Storage Execution
Operating System: ALL
Participants:
Linked BF Score: 34

 Description   

The createIndexes command doesn't specify a type for the "bits" field that is part of the index spec - though there is a struct type "NewIndexSpec" that does define a type for the bits field, the createIndexes command does not use it. However, the listIndexes command does define the "bits" field as type safeInt. This can lead to a problem during any collection cloning phase (we saw an error during Tenant Migrations, but it could happen during initial sync as well), because the node that is cloning indexes typically runs the listIndexes command to learn what indexes it should create.



 Comments   
Comment by Benety Goh [ 09/Feb/23 ]

This SERVER ticket was motivated by a build failure that we believe is better addressed in SERVER-73858. The issue described in this ticket is part of a larger issue described in SERVER-69750.

Generated at Thu Feb 08 06:24:40 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.