|
|
|
[
Permlink
| « Hide
]
Robin Shen [21/Jul/16 06:03 AM]
I checked the code and the only possible reason for the long loop is because that new EC2 nodes are launched in the loop. And this happens only when no existing nodes/available resources matches the build requirement, and some cloud profiles matches. Can you please check if this is the case at your side?
The thing is that we only have few builds which should run in amazon. The resource is pretty specific. So on every request processing run all currently queued requests are checked against the cloud profile and that takes a long time even when no resource (just for 1-2 configurations) will ever match on the cloud profiles.
We can add credentials setting in profile, and use default credential in global EC2 setting if it is not defined. As to negative performance impact, it is possible that if the build engine has to launch cloud node frequently. However in peak hours, the node should not be launched frequently unless you've defined a quite short idle time in cloud profile to cause node being terminated/re-launched frequently.
Build request processing itself is multi-threading, but at least we need to have a single thread main loop to go through the build requests and allocate resources one by one. |