Add new table for scheduling member deletion
Summary
In order to handle the deletion of many member records as efficiently as possible and without timeout, we are introducing a scheduled deletion process that will schedule member deletions via a new table and asynchronously process those scheduled deletions in a controlled and scalable manner.
See #467281 (comment 2135360209) for more details and previous discussion.
Proposal
To achieve this, the effort has been broken down into multiple steps:
# | Step | Issue/MR | Notes |
---|---|---|---|
1 | Add a new model for tracking member deletion | this one! |
|
2 | Add a background worker to process the scheduled deletions | #501248 (closed) | |
3 | Update relevant APIs | #501249 (closed) | |
4 | Update the UI/UX | #480302 (closed) | |
5 | Review and iterate | #501250 (closed) |
Implementation detail
Create a new model/table that will support unique rows for root namespaces and users:
- user_id
- namespace_id
- unique index on [user_id, namespace_id]
Edited by Vijay Hawoldar