On Monday 17 October 2016, Surya Gaddipati <[email protected]> wrote:
> Thanks Stephen for your quick response. > > > as otherwise the scheduling will blow up in your face. > > Curious, What do you mean by this ? > When the queue starts scheduling it has to iterate the list of nodes to build up the candidate nodes for the load balancing algorithm. If you change the list of nodes during that time, the queue thread will get a concurrent modification exception (best case) and die... or it will assign work to a node that no longer exists, except for a phantom object reference that it held onto... or worse It is a long term goal to remove the queue lock as it impacts scalability when you have 1000's of executors that can match a job... but even then the impact is not so large that removing the lock would be a priority. For now, use the queue lock methods, when we remove the need for a lock they will become no-ops that the JVM will inline away for plugins compiled against current cores > thanks again. > > On Monday, October 17, 2016 at 9:53:23 AM UTC-5, Surya Gaddipati wrote: >> >> Hi all, >> >> I am working on plugin >> <https://github.com/suryagaddipati/jenkins-docker-swarm-plugin> that >> creates a single use computer/node whose lifecycle is tied to a single >> build . I am currently adding the node like this >> >> Jenkins.getInstance().addNode(node); >> >> >> However that method requires multiple Queue locks while doing so. >> >> >> I believe in my particular case there is no need for queue locking since >> only a single build can ever be scheduled on the computer via >> LabelAssignmentAction. >> >> I wanted to check , >> >> 1. if that assumption is correct >> >> 2. If the team is open to accepting a patch to jenkins.instance for a >> new method which adds a node without the Queue lock. >> >> >> Thank you. >> >> >> --Surya >> > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <javascript:_e(%7B%7D,'cvml','jenkinsci-dev%[email protected]');> > . > To view this discussion on the web visit https://groups.google.com/d/ > msgid/jenkinsci-dev/6a9cb43d-8eab-4413-89e9-f85775f5bc03% > 40googlegroups.com > <https://groups.google.com/d/msgid/jenkinsci-dev/6a9cb43d-8eab-4413-89e9-f85775f5bc03%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- Sent from my phone -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMw1%3Dv3VnWRcr9xaX5kv-yOdhz%2B_0bUTpUPwXpd20nE0zw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
