[
https://issues.apache.org/jira/browse/SLING-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12803644#action_12803644
]
Carsten Ziegeler commented on SLING-1311:
-----------------------------------------
I'm not 100% sure, but after some testing I think this is more a repository
problem and might also happen with a script engines.
Now, if for example several threads are accessing different scripts which all
need to be compiled, each thread tries to write a class file under
/var/class/org/something/.../myclass.class.
If at that point /org/something does not exist - each thread tries to create it
(each thread is using an own session) and this might lead to problems when the
sessions now all try to save.
Usually this happens only with the servlet compilation as these are used for
images which are requested in parallel from the browser - while jsps etc
are usually used for content rendering.
My idea is to sync the save of the class in the classloader - this should a)
fix the problem, b) don't create new problems and c) it should not decrease
performance as Jackrabbit is synced the writes anyway.
I'll recheck the java servlet engine as well
> Rare exception "Servlet class not found" during compilation into the
> repository
> -------------------------------------------------------------------------------
>
> Key: SLING-1311
> URL: https://issues.apache.org/jira/browse/SLING-1311
> Project: Sling
> Issue Type: Bug
> Components: JCR
> Affects Versions: JCR Classloader 3.0.0
> Reporter: Carsten Ziegeler
> Assignee: Carsten Ziegeler
> Fix For: JCR Classloader 3.0.2
>
>
> Sometimes a "Servlet class not found" exception occurs during startup - this
> seems to be a concurrency problem when several threads try to compile
> something
> in parallel
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.