On Monday 17 October 2016, Surya Gaddipati <suryapraka...@gmail.com> 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 jenkinsci-dev+unsubscr...@googlegroups.com
> <javascript:_e(%7B%7D,'cvml','jenkinsci-dev%2bunsubscr...@googlegroups.com');>
> .
> 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 jenkinsci-dev+unsubscr...@googlegroups.com.
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.

Reply via email to