On Tuesday, August 25, 2015 at 6:59:42 AM UTC-5, Chris Price wrote:
>
> Stefan,
>
> That is a very weird error. The way it reads it sounds like something
> that should happen on every JRuby instance or on none of them
> ("NoClassDefFoundError" usually means it's trying to load some code that
> doesn't exist), so I wouldn't expect you to see a difference in behavior
> between 16 instances and 32 instances.
>
A NoClassDefFoundError could also mean that Java simply *failed* to load
the specified class, even though it does exist in some other sense. This
could happen for some JRuby instances and not others if each uses its own
ClassLoader, and each of those loads the specified class directly (rather
than delegating to a common ClassLoader). I don't know off-hand how
Puppetserver is set up, but it would be pretty reasonable for it to be
arranged to run all the JRubys in the same VM, using distinct ClassLoaders
for improved isolation of the different instances. In that case, the
problem could be one of resource exhaustion (but not necessarily heap).
As a special case of the above, a NoClassDefFoundError can be caused by a
failure in a static initializer of the the affected class. That throws the
door wide open for just about any kind of capacity or timing problem,
especially if any native code is involved, as the full name of the affected
class suggests is likely in this case. On the other hand, there does not
appear to be another error or exception recorded as a cause of the
NoClassDefFoundError, so that casts doubt on this particular variation.
John
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" 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/puppet-users/4999f9ab-3ce5-4b82-a537-d27715c60083%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.