-
Notifications
You must be signed in to change notification settings - Fork 82
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
EC2FleetCloud.updateStatus can cause big delays at jenkins queue #55
Comments
Please take a look. If suggested fix seems ok for you - I can submit PR |
I've updated initial comment with more correct description. |
Looks like PR for this #59 don't know why it's not auto connected. |
hi, starting from version 1.2.2 plugin uses batch API to check if EC2 instance terminated, should fix this problem. |
Thanks, will check it out. |
hi, you can try new 1.11.2 version which creates near-zero delays for Queue and takes Queue lock only for a short time when add or delete nodes. |
Hi Thanks for information! We recently upgraded to 1.10.2 and it works well so far. Nice to know there are more improvements in next version. |
np, thx for feedback about 1.10.2 ))) |
We have bottleneck at jenkins queue because EC2FleetCloud.updateStatus holds queue lock for a long time. See stacktrace below.
Out fleet has ~100 instances
I see a lot of messages like this
During terminateInstance call it triggers updateStatus call which takes 5-10 sec.
I don't know how often IdleRetentionStrategy called, but sometimes we had job not starting for 20 min with 40 executors available.
Here are similar bugs in other plugins
https://issues.jenkins-ci.org/browse/JENKINS-54988
https://issues.jenkins-ci.org/browse/JENKINS-38815
What I understood from comments to these bugs is that jenkins can trigger this call very often and it should be pretty fast.
Perhaps the solution from https://issues.jenkins-ci.org/browse/JENKINS-38815 can be applied here as well. I mean execute describeInstances by timer and cache result, so isTerminated can just use cached result.
The text was updated successfully, but these errors were encountered: