-
Notifications
You must be signed in to change notification settings - Fork 923
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
kubectl get doesn't stream results with many results #866
Comments
/sig cli |
I would maybe consider this a feature more than a bug, but it's debatable :-) |
I was able to replicate this by creating 100k configmaps. I'll try poking around and see what I can figure out. |
I've tracked this down to being a bottleneck here: Specifically here: Issue is in fact the Passing
Where to go from here I'm unsure. I guess we'd need to refactor the Thoughts @apelisse? |
I suspect there are two things that are going to make the non-caching behavior happen:
And I may be missing other reasons. Hope that helps, happy to answer further questions |
Hmmm
|
Yeah, keep digging there, you might find something useful. Isn't it sorting by default? I'm a little confused. I should take a minute to look at the sorting option for kubectl get. |
Unless provided |
Sure, can you dig deeper and make sure that they are not eventually sorted anyway on a simple get? If there is no sorting involved, that would probably make things much simpler. And also, I would suggest that you keep digging on this multi-gvk thing. Thanks @eddiezane! |
/priority P2 |
@eddiezane @apelisse I think this is a throttling issue. Take a look at this PR and let me know what you think: kubernetes/kubernetes#92483 EDIT: I guess this doesn't fix the original issue, but fixes a related problem of poor performance with chunking large lists. The original issue of not being able to see partial results before all chunks are received remains. |
I looked into this a little more and discovered that in order to stream results as they are received, kubectl get needs to be changed to use
It isn't too straightforward though because Visit would not work in the case of sorting, so it would still need to keep the current ability to get all results up-front. |
This (sorting) was one of the reasons we changed to |
Agree about the post/pre processing in |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
/lifecycle frozen |
cc @KnVerey |
I've got a cluster here with many many objects of a specific resource type (probably too many), and I'm trying to list them anyway:
If I run the same request with v8, I can see that it's running a lot of requests to the apiserver, with the continue token etc. But it looks like none of these resources are going to be printed before they are all collected.
There is a
chunk-size
parameter, but that only guides the number of objects returned by each request, not how things are going to be displayed, there's also nolimit
parameter.That seems wrong to me.
/assign @soltysh @seans3
cc @lavalamp
The text was updated successfully, but these errors were encountered: