[
https://issues.apache.org/jira/browse/PLUTO-569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ate Douma updated PLUTO-569:
----------------------------
Fix Version/s: 2.0.2
> Threading issue in DefaulltPortletInvoker
> -----------------------------------------
>
> Key: PLUTO-569
> URL: https://issues.apache.org/jira/browse/PLUTO-569
> Project: Pluto
> Issue Type: Bug
> Components: portal driver
> Affects Versions: 2.0.0
> Reporter: Mark Piper
> Assignee: Ate Douma
> Fix For: 2.0.2
>
> Attachments: patch.txt, PlutoIssueTestCase.zip
>
>
> A portlet application with multiple portlets registered to listen for the
> same event often falls over with NPE exceptions in PortletServlet.dispatch()
> (line 308), caused by the PortletRequest not being set in the ServletRequest.
> On investigation, the issue appears to be that the DefaultPortletInvoker is
> sharing the containerRequest object across event-firing threads, and the
> invoking block is not synchronised. That is, event thread 1 adds the
> PortletRequest to the ServletRequest, does it's work, and then removes the
> PortletRequest. Meanwhile, event thread 2 is in the middle of doing it's
> work, but thread 1 has just removed the PortletRequest attribute.
> Zip file with portlets and test case demonstrating the issue (it occurs on
> about 40-50% of requests on an Intel Xeon 2.4Ghz, 2Gb RAM on Win XP) will be
> attached, along with patch to simply synchronize the relevant block on the
> ServletRequest object in DefaultPortletInvokerService.invoke().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira