[SERVER-38502] Draining of the index build's constraint violations entries should be: read, check, delete entry Created: 10/Dec/18  Updated: 27/Oct/23  Resolved: 04/Jan/19

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

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Backlog - Storage Execution Team
Resolution: Gone away Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Storage Execution
Participants:

 Description   

In order to survive server restart during an index build's constraint violations checking phase, each entry in the constraints table must be read and then checked, and only then deleted. Currently (I believe?), each entry is read, deleted then checked, which is not recoverable.

Simultaneous index builds on secondaries can potentially wait a long while between building the index (scanning, writing) and performing constraint checking. It's therefore desirable to make the constraint checking phase resumable after server restart, to avoid restarting the entire index build.

This is technically an optimization. It will be required, however, if we ever make index builds entirely recoverable.



 Comments   
Comment by Daniel Gottlieb (Inactive) [ 04/Jan/19 ]

Resolving as gone away with SERVER-38675. When this ticket was created, constraint checking did not remove entries. That was recoverable, but not efficient. SERVER-38675 changed constraint checking to delete entries as it went along, in the order this ticket describes.

Generated at Thu Feb 08 04:49:08 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.