feat(google): fetch groups in parallel#4777
Conversation
nabokihms
left a comment
There was a problem hiding this comment.
Thanks for tackling this. Direction is right, but I'd like a few things addressed before merging.
|
I implemented the suggestions. I also deployed them in my environment to test the changes. Thanks for the feedback. |
nabokihms
left a comment
There was a problem hiding this comment.
My feedback is mostly addressed - errgroup, ctx, config knob, dead param gone. Nice.
One blocker: recursive g.Go under SetLimit deadlocks. Need a regression test for it.
Other minor stuff inline. Also please squash to one commit and rename to feat(google): - sort order changed and there's a new config field, not really a refactor anymore (and do not forget to sign the commit, otherwise we cannot merge this).
Signed-off-by: Codrut Panea <codrut@flowx.ai>
84d941d to
ac189b6
Compare
|
I think i addressed all the feedback, thank you |
Overview
What this PR does / why we need it
Fetches nested (transitive) group membership in parallel (with a concurrency limit) instead of strictly sequential API calls, so large/deep group graphs complete faster.
In my tests the loading times went form 10-15 seconds down to 2-3 seconds. I tested the changes with 20 nested groups. And I'm using this fork for over a month with no problems.
Closes #3929
Special notes for your reviewer