-
Notifications
You must be signed in to change notification settings - Fork 38.8k
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
openapi-aggregation: speed up merging from 1 sec to 50-100 ms #71223
openapi-aggregation: speed up merging from 1 sec to 50-100 ms #71223
Conversation
Great! The idea looks good to me. Spec cloning makes up ~98% of the time when we do spec merging. We need to unit test the cloning. I see kube-openapi has a decent amount of unit test covering spec merging. Maybe that's enough |
3a0132a
to
9c7b6cb
Compare
This is a change in vendor folder, please close this in favor of the other PR for less confusion. I was looking for my comments on the other PR here :) |
c66f1c8
to
079c1b0
Compare
7618d5c
to
7f9bb8e
Compare
7f9bb8e
to
19506e4
Compare
something is up with the godeps changes:
|
19506e4
to
ff2547c
Compare
c702b4d
to
608ca9c
Compare
608ca9c
to
233178e
Compare
/retest |
/retest verified the only differences in the swagger.json file are object key order and json string escaping (no structural or value changes that would affect anything consuming the published schemas) diff \
<(curl -s https://raw.githubusercontent.com/sttts/kubernetes/sttts-openapi-aggreation-without-clone/api/openapi-spec/swagger.json | jq -S .) \
<(curl -s https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json | jq -S .)
<no diff> /lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: liggitt, sttts The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This PR avoids swagger spec cloning by non-source-mutating merging. It uses a mutating walker that locally clones minimal substructures.
Speedup: >>10