fix: remove blocking waits during deletion - #653
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #653 +/- ##
==========================================
+ Coverage 78.89% 79.60% +0.71%
==========================================
Files 11 11
Lines 1085 1074 -11
==========================================
- Hits 856 855 -1
+ Misses 199 191 -8
+ Partials 30 28 -2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
3a53563 to
d62e3a4
Compare
|
codecov can be ignored since it is for error paths |
|
doesn't having blocking behavior guarantees operation ordering. with non-blocking need to manage state more carefully |
d62e3a4 to
d0a5706
Compare
The ordering is safe because all resources that are suppose to delete during cleanup have owner references. Even if the Finalizer proiceeds before deletion GC handles and deletes any remaining dependents so no resources are left behind |
ca9875a to
fbafe74
Compare
|
please do a Claude Code review of this PR. this needs more changes |
|
Can you share your review analysis? |
|
Specifically changes that are required |
Replace blocking wait.PollUntilContextTimeout with non-blocking check-and-requeuepattern in Deleter reconciler. This reduces PowerMonitor CR deletion time from5+ minutes to under 30 seconds by allowing Kubernetes GC to run in parallelinstead of sequentially polling for each resource deletion. Changes: - Refactor Deleter to issue non blocking deletes and return Continue - Remove WaitTimeout field from Deleter - Update Deleter tests for non blocking deletes - Remove 2 minute namespace deletion wait in PMI cleanup Signed-off-by: vprashar2929 <vibhu.sharma2929@gmail.com>
fbafe74 to
0a10f78
Compare
|
@vimalk78 Can you re-review it? Thanks 🙏 |
Replace blocking wait.PollUntilContextTimeout with non-blocking check-and-requeuepattern in Deleter reconciler. This reduces PowerMonitor CR deletion time from5+ minutes to under 30 seconds by allowing Kubernetes GC to run in parallelinstead of sequentially polling for each resource deletion.
Changes: