You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2010/01/22 09:26:21 UTC

[jira] Created: (SLING-1311) Rare exception "Servlet class not found" during compilation into the repository

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.


[jira] Resolved: (SLING-1311) Rare exception "Servlet class not found" during compilation into the repository

Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carsten Ziegeler resolved SLING-1311.
-------------------------------------

    Resolution: Fixed

With the latest changes I haven't seen this problem for a long time, so I hope this is fixed

> 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.1.0
>
>
> 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.


[jira] Closed: (SLING-1311) Rare exception "Servlet class not found" during compilation into the repository

Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carsten Ziegeler closed SLING-1311.
-----------------------------------


> 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.1.0
>
>
> 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.


[jira] Commented: (SLING-1311) Rare exception "Servlet class not found" during compilation into the repository

Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Commented: (SLING-1311) Rare exception "Servlet class not found" during compilation into the repository

Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12804431#action_12804431 ] 

Carsten Ziegeler commented on SLING-1311:
-----------------------------------------

I've cleaned up the code in the class loader provider a little bit in Revision: 902724.
The former version did not log/catch all exceptions and might result in strange results - however I think that this does not fix the problem.

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


[jira] Commented: (SLING-1311) Rare exception "Servlet class not found" during compilation into the repository

Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12804965#action_12804965 ] 

Carsten Ziegeler commented on SLING-1311:
-----------------------------------------

The path creation is now synchronized to reduce the potential concurrency problem. Changed in revision 903164

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


[jira] Commented: (SLING-1311) Rare exception "Servlet class not found" during compilation into the repository

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12803632#action_12803632 ] 

Felix Meschberger commented on SLING-1311:
------------------------------------------

Is this a class loader issue ? I generally see this only with "Servlet scripts", so I would assume this is a concurrency problem of the Servlet Script engine, which does not properly recognize requests to a servlet which is "under compilation".

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