Skip to content

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! 👈🏼 we are here
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