Skip to content
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

bulk project deletion causes long controller response curve #7166

Closed
timothysc opened this issue Feb 9, 2016 · 12 comments
Closed

bulk project deletion causes long controller response curve #7166

timothysc opened this issue Feb 9, 2016 · 12 comments
Assignees
Milestone

Comments

@timothysc
Copy link

The response curve for bulk operations 1<n<100 is almost immediate, but once 100<n<1000the response curve becomes very slow, and cluster cleanup takes half hour on average. I'm not exactly certain which controller on the openshift side is responsible for project deletion on state change...

oc delete projects -l purpose=test

Eventual consistency is reached, but it's very slow.

/cc @abhgupta @jeremyeder @danmcp @derekwaynecarr

@liggitt
Copy link
Contributor

liggitt commented Feb 9, 2016

how many projects is that operating on? what's the split between client time (how long does the oc command take to run) and server processing before projects transition from "Terminated" to actually being gone?

@derekwaynecarr
Copy link
Member

Relevant upstream PR:
kubernetes/kubernetes#20076

It allows us to run multiple workers in Kubernetes namespace clean-up, and
it moves all the resource deletion (except for pods and services) to
deleteCollection calls.

On Tue, Feb 9, 2016 at 4:48 PM, Jordan Liggitt [email protected]
wrote:

how many projects is that operating on? what's the split between client
time (how long does the oc command take to run) and server processing
before projects transition from "Terminated" to actually being gone?


Reply to this email directly or view it on GitHub
#7166 (comment).

@derekwaynecarr
Copy link
Member

We would need to make corresponding changes in the origin namespace controller to use delete collection calls, and adopt worker pattern.

@derekwaynecarr
Copy link
Member

What was in the projects?

@timothysc
Copy link
Author

how many projects is that operating on?

1000 takes > 1/2 hour.

what's the split between client time (how long does the oc command take to run) and server processing before projects transition from "Terminated" to actually being gone?

Total time for oc command is less then a minute, and transition to "Terminating" is pretty fast. Draining itself is very slow.

What was in the projects?

A several deploymentConfig objects that had a bunch of rcs etc as part of a vertical scaling test.

@pweil- pweil- mentioned this issue Feb 10, 2016
85 tasks
@derekwaynecarr
Copy link
Member

So the upstream PR that merged today may improve the time, but we would also need to move the downstream controller to follow a similar pattern. I can look to get a PR together to adopt a queue for openshift, but I am not sure if I should move to use delete_collection calls in OpenShift now or not...

@derekwaynecarr
Copy link
Member

On further thought, I would prefer we measure after the rebase that includes the earlier mentioned PR to understand if we need further improvements since ultimately, I would like to move to a single shared controller in both Origin and Kube that uses the Discovery API.

@pweil-
Copy link
Contributor

pweil- commented Feb 18, 2016

@timothysc is this something you can remeasure for us now?

@timothysc
Copy link
Author

Yes, we'll re-eval.

@pweil- pweil- assigned timothysc and unassigned pweil- Feb 18, 2016
@smarterclayton smarterclayton modified the milestone: 1.2.0 Feb 20, 2016
@liggitt
Copy link
Contributor

liggitt commented Mar 16, 2016

rebase just pulled in deletecollection changes for upstream types

@timothysc
Copy link
Author

We'll be deploying early next week and will report back.

@timothysc
Copy link
Author

So I'm going to close down this issue now. There is still a long decay on termination for bulk deletions, but I believe there are other things now in the pipe to handle this for a -force case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants