[ 
https://issues.apache.org/jira/browse/SLING-12442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Sedding resolved SLING-12442.
------------------------------------
    Resolution: Fixed

> Regression due to SLING-11299
> -----------------------------
>
>                 Key: SLING-12442
>                 URL: https://issues.apache.org/jira/browse/SLING-12442
>             Project: Sling
>          Issue Type: Bug
>          Components: Scripting
>    Affects Versions: Scripting JSP 2.6.0, Scripting JSP 2.6.2
>            Reporter: Julian Sedding
>            Assignee: Julian Sedding
>            Priority: Major
>             Fix For: Scripting JSP 2.6.4
>
>
> The fix for SLING-11299 introduced a regression. With that change, a JSP 
> script is re-compiled whenever an exception occurs during the execution of 
> the script.
> To fix the immediate issue, in this ticket, the "improved" error logging will 
> be reverted to what it was before SLING-11299. Restoring this improvement 
> will be covered in a separate ticket.
> Re-compilation performs the following (non-atomic/non-synchronized) steps
>  * delete old java file
>  * delete old class file
>  * generate new java file
>  * compile new java file to class file
>  * add smap data (java source maps for languages that are converted to java 
> source)
>  ** write tmp class file with added smap data (non-randomized file name)
>  ** delete class file
>  ** move tmp class file to class file path
> Any request threads that want to render the same JSP script, and that observe 
> that the class file is missing, will also start recompilation with all steps 
> from above.
> This can lead to multiple threads throwing exceptions due to an unexpected 
> state on the file system. Especially under load, it can be difficult for the 
> system to recover from such a situation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to