Issue #2294 has been updated by Markus Roberts.

In the onld code we had this possibility:

* Thread one needs a module
* It looks and sees that it hasn't been loaded yet
* Because the module it might refer to itself (and we don't want to recuse 
forever) the routine marks it as loaded _before_ it starts loading it.
* It starts loading the module
* Before the first thread is finished, another thread needs the module
* It looks and sees (erroneously) that the module has already been loaded
* Hilarity ensues

Branch up at http://github.com/MarkusQ/puppet/tree/ticket/master/2452


The fix was to retain the old behavior for the loading thread but to suspend 
any additional threads looking for the same module until the first has 
completed.  This has close to zero performance impact (and is far faster than, 
say, making each thread load their own copy), and resolves the race condition.


----------------------------------------
Bug #2294: Classes sometimes cannot be found
http://projects.reductivelabs.com/issues/2294

Author: Luke Kanies
Status: Ready for Testing
Priority: Normal
Assigned to: Markus Roberts
Category: language
Target version: 0.25.0
Complexity: Unknown
Affected version: 0.25.0beta1
Keywords: 


This kind of error occurs multiple times over the course of a week at a client 
of mine:
<pre>
puppetmasterd err puppetmasterd[11913]: Could not find class allusers::charles 
in namespaces allusers::sss at /etc/puppet/modules/allusers/manifests/sss.pp:15 
on node d3i002.view.domain.com
</pre>
I believe it is the result of some kind of race condition or timeout, as I've 
been able to force it to happen under load, but only then.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to