[CDRIVER-3646] Hidden Indexes Created: 04/May/20  Updated: 27/Oct/23  Resolved: 26/Jun/23

Status: Closed
Project: C Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Unassigned
Resolution: Works as Designed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CDRIVER-3755 Provide an index creation helper Closed
is depended on by DRIVERS-816 Hidden Indexes Closed
Related
is related to CXX-2007 Hidden Indexes Closed
Quarter: FY24Q3

 Description   

Description of Drivers Ticket:

Downstream Change Summary

TBD when the project completes.

Description of Linked Ticket

Epic Summary

Summary

This project implements functionality to allow indexes to be hidden from the query planner.

Motivation

As MongoDB users evolve schemas and tune performance, they are often in a position where dropping an index could improve query performance and reduce collection overhead. However, dropping an index comes with the risk that an application or script may depend on an index for acceptable performance and recreating can take substantial time.

Allowing users to hide an index provides the opportunity to evaluate impact on user workloads. Restoring the index can then be done quickly, without having to undergo the time and expense of a full index build.

Additionally, adding an index can cause a negative change in performance, if the query planner starts using the new index over a preferable existing index. Creating an index that is hidden on build completion allows users to make it visible at a suitable time for evaluation.

Hiding an index only allows for plan selection evaluation and does not reduce the cost of maintenance. Index removal will still be required to reclaim disk space and improve write performance.

Cast of Characters

  • Product Owner: Katya Kamenieva
  • Project Lead: James Wahlin
  • Program Manager: Craig Homa

Documentation

Scope Document
Technical Design Document

 

Specs commit: https://github.com/mongodb/specifications/commit/fafb0076e3c2ee8c35497bd1260c1cfc672c4919
See DRIVERS-816 for updated details.



 Comments   
Comment by Kevin Albertson [ 26/Jun/23 ]

No work needed. The mongoc_collection_create_indexes_with_opts function forwards options to the createIndexes command. The hidden option can be passed in the bson_t *opts.

Comment by Kevin Albertson [ 07/May/20 ]

Similar to CDRIVER-3627, no work to be done. libmongoc does not have non-deprecated index helpers.

Generated at Wed Feb 07 21:18:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.