-
Notifications
You must be signed in to change notification settings - Fork 1.5k
feat(Iss7174) - add vertx5 module for use with the kubernetes client #7184
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
base: main
Are you sure you want to change the base?
Conversation
Thank you for this new pr @ByteSizedJoe. Yes this does look like the approach that is needed. Overall things look good as the changes you made on top of the 4 implemention seemed to make sense. If there are refinements you think would be good to have for the vertx 4 implemenation, please do open a separate pr for that. Other than changing the dependency, are there any migration issues of note you have seen (memory footprint, threads used, etc.)? We will probably want to add vertx5 into the https://github.com/fabric8io/kubernetes-client/blob/main/.github/workflows/e2e-httpclient-tests.yml and the chaos test workflow. |
Hey @shawkins. Just wanted to do a quick update. I'm working on throwing together a small A/B test harness to get a comparison of Vertx 4/5. I'll post my findings here. I'll also work on getting the tests added. |
Hey @shawkins! Okay so the app that I am interested in using this for has never been built with vertx4 so I couldn't do a direct swap and compare. So what I did instead was setup a simple A/B test harness: https://github.com/ByteSizedJoe/k8s-client-ab-testing This test harness uses minikube, jcmd, jstat and performs some k8s operations and measures jvm metrics. This is what I found:
I'll attach the raw output from jcmd/jstat here as well. I understand this isn't a real world integration test but I hope that this helps satisfy what you're looking for. Let me know your thoughts! I have also added vertx-5 to the E2E matrix. |
Thank you @ByteSizedJoe for your analysis and continued work on the pr. To clarify by NMT heap you mean the amount of on heap memory reported by native memory tracking? That bumb is the only thing that looks concerning - adding in @vietj for additional thoughts on vertx 4 vs 5. |
Yep! This is from jcmd vm.native_memory summary. For what it's worth, I re-ran for a much longer benchmark and got:
So interestingly NMT heap looks better but more GCT time was up 😄 |
Hey @shawkins and team! Just wanted to check in here if there's anything else I can do to help with this at the moment. Let me know! Thank you. |
Description
This PR adds a new httpclient-vertx-5 module that provides Vert.x 5.x HTTP client support for the Fabric8 Kubernetes client. This addresses issue #7174 by implementing improved async handling and WebSocket separation using the latest Vert.x 5.0.1.
Type of change
test, version modification, documentation, etc.)
Checklist