-
Notifications
You must be signed in to change notification settings - Fork 146
refactor: eliminate duplicate executeChain calls in push approval flow #1209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
✅ Deploy Preview for endearing-brigadeiros-63f9d0 canceled.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1209 +/- ##
==========================================
+ Coverage 83.87% 83.88% +0.01%
==========================================
Files 68 68
Lines 2908 2904 -4
Branches 367 364 -3
==========================================
- Hits 2439 2436 -3
Misses 409 409
+ Partials 60 59 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - have you tested against any large pushes?
@kriswest I'm actually doing some manual testing here, the fix successfully eliminates the duplicate executeChain calls - I can see in the logs, which should improve performance. However, I'm investigating an issue where large pushes seem to hang during the getRawBody() buffering step, both before and after my changes. |
@fabiovincenzi if you end up needing an alternative to
I can't think what else might be stalling things... |
@kriswest |
Aha, good catch then - I think this is possibly affecting us and would explain some weird performance issues |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fixes #1196
Refactor of
teeAndValidate
middleware toextractRawBody
that only extracts request body, centralized all validation logic inproxyFilter
function, and eliminated duplicateexecuteChain()
calls for POST git-pack requests