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 -~----------~----~----~----~------~----~------~--~---
