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

Woonsan Ko resolved JS2-1283.
-----------------------------

    Resolution: Fixed
    
> ServletRequestCleanupService throws RuntimeException when a portlet is 
> rendered asynchronously in parallel mode
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: JS2-1283
>                 URL: https://issues.apache.org/jira/browse/JS2-1283
>             Project: Jetspeed 2
>          Issue Type: Bug
>            Reporter: Woonsan Ko
>            Assignee: Woonsan Ko
>             Fix For: 2.2.3
>
>
> In a load testing, I found the following error logs in jetspeed.log:
> --------------------------------------------------------------------------------------------
> 16:41:23 ERROR WORKER_11 
> [org.apache.jetspeed.util.ServletRequestCleanupService.addCleanupCallback():61]
>  Registring cleanup callback before ServletRequestCleanupService invoked from 
> filter chain.
> java.lang.RuntimeException
> at 
> org.apache.jetspeed.util.ServletRequestCleanupService.addCleanupCallback(ServletRequestCleanupService.java:56)
> at 
> org.apache.jetspeed.util.ServletRequestThreadLocalCleanupCallback.<init>(ServletRequestThreadLocalCleanupCallback.java:33)
> at org.apache.jetspeed.security.JSSubject.setSubject(JSSubject.java:50)
> at org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:185)
> at org.apache.jetspeed.aggregator.impl.WorkerImpl.run(WorkerImpl.java:172)
> 16:43:49 ERROR WORKER_10 
> [org.apache.jetspeed.util.ServletRequestCleanupService.addCleanupCallback():61]
>  Registring cleanup callback before ServletRequestCleanupService invoked from 
> filter chain.
> java.lang.RuntimeException
> at 
> org.apache.jetspeed.util.ServletRequestCleanupService.addCleanupCallback(ServletRequestCleanupService.java:56)
> at 
> org.apache.jetspeed.util.ServletRequestThreadLocalCleanupCallback.<init>(ServletRequestThreadLocalCleanupCallback.java:33)
> at org.apache.jetspeed.security.JSSubject.setSubject(JSSubject.java:50)
> at org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:185)
> at org.apache.jetspeed.aggregator.impl.WorkerImpl.run(WorkerImpl.java:172)
> --------------------------------------------------------------------------------------------
> Apparently the async worker thread is not provided with the callbacks thread 
> local list by the filter (ServletRequestCleanupFilter).
> So, to avoid the error, each job execution should be able to initialize and 
> clear every time somehow.
> Also, JSSubject.doAsPrivileged(...) call is made in WorkerImpl currently. The 
> problem is this can call ServletRequestCleanupService.addCleanupCallback() in 
> its #setSubject(..) method. However, it is not recommendable to improve the 
> WorkerImpl to initialize/clean up using ServletRequestCleanupService because 
> a worker class might be provided by the container (e.g, commonj worker 
> monitor) and WorkerImpl is just a default worker thread implementation.
> Therefore, the JSSubject.doAsProviledged(...) call should be moved to the job 
> implementation class as well.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscr...@portals.apache.org
For additional commands, e-mail: jetspeed-dev-h...@portals.apache.org

Reply via email to