The current way how we are deleting objects and segments looks to be problematic. Before server-side copy we were only deleting objects and segments from metabase. Now we are also processing relation ancestor - copy and in case of deleting ancestor we are looking which object copy should become new ancestor. This is causing DB retries for crdb and deadlocks for postgres. We are thinking about doing soft deleted in a meaning that we will only mark elements to be deleted and separate cleanup process will do that later.
Acceptance criteria:
write down into this ticket high-level ideas on how we can do soft deletes
schedule a dedicated meeting about possible ideas, initially inside Metainfo team
The current way how we are deleting objects and segments looks to be problematic. Before server-side copy we were only deleting objects and segments from metabase. Now we are also processing relation ancestor - copy and in case of deleting ancestor we are looking which object copy should become new ancestor. This is causing DB retries for crdb and deadlocks for postgres. We are thinking about doing soft deleted in a meaning that we will only mark elements to be deleted and separate cleanup process will do that later.
Acceptance criteria: