feature: improve deletion speed and multi cluster handling by using background sync #3016
+263
−129
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Disclaimer: This code was generated by Opus 4.5 based on my ideas and prompt. It was tested with some test databases in a k8s cluster, but I do lack the full understanding of the code to say this is a good change / idea.
This is based on my second PR #3015 and further improves how quickly dbs are deleted after they are marked. I specifically ran into these issues when trying to restore from a backup, and the secrets inside of k8s run out of sync. This makes the operator extremly slow and unresponsive, therefore the idea of syncing each database in it's own go routine - most of the code anyways usually waits on network i/o.
Here is what was adapted: