Bug 1058216
| Summary: | Struts portlet prevents cluster node from starting up properly | |||
|---|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise Portal Platform 6 | Reporter: | Martin Weiler <mweiler> | |
| Component: | Portal | Assignee: | Lucas Ponce <lponce> | |
| Status: | CLOSED UPSTREAM | QA Contact: | Tomas Kyjovsky <tkyjovsk> | |
| Severity: | high | Docs Contact: | ||
| Priority: | high | |||
| Version: | 6.1.0 | CC: | epp-bugs | |
| Target Milestone: | ER03 | |||
| Target Release: | 6.2.0 | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | 6_2 Done | |||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: |
Previously, the Struts framework had a non-serializable class ServletPortletSessionProxy used to handle sessions internally between Portlets, and Servlet layers. Because the class was stored at the session level, it introduced serialization issues when used in a clustered environment. The fix modifies the Struts configuration inside portlet.xml by setting the init parameter PortletScopeStrutsSession to false by default. PortletSessions are now mapped directly without ServletPortletSessionProxy, and portlets based on the Struts framework now work when used in a clustered environment.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1058265 (view as bug list) | Environment: | ||
| Last Closed: | 2025-02-10 03:34:57 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Attachments: | ||||
|
Description
Martin Weiler
2014-01-27 09:23:25 UTC
Boleslaw Dawidowicz <bdawidow> updated the status of jira GTNCOMMON-21 to Resolved It will get fixed with upgrading version of gatein common Unfortunatelly I can still reproduce this problem on both 6.2.0.ER1 and ER2. Created attachment 898445 [details]
exception in log of node1 when node2 is starting up (with 6.2.0.ER1)
Created attachment 898446 [details]
exception in node2 log during startup (6.2.0.ER1)
Created attachment 898447 [details]
exception in node2 log when page with portlet is accessed (6.2.0.ER1)
1) When node2 is starting up: - node1 log: ... org.infinispan.CacheException: java.lang.RuntimeException: Failure to marshal argument(s) ... - node2 log: (the originally reported exception) ... org.infinispan.CacheException: Unable to invoke method public void org.infinispan.statetransfer.StateTransferManagerImpl.waitForInitialStateTransferToComplete() throws java.lang.InterruptedException on object of type StateTransferManagerImpl ... 2) When the page with the portlet is accessed on node2: - node2 log: ... org.gatein.pc.api.NoSuchPortletException: No such portlet /simplest-hello-world-portlet.SimplestHelloWorldPortlet ... I have set up a 2 cluster nodes in ER2. The only thing I have seen is the following: - In the example attached, there are two configuration files: web.xml and portlet.xml In web.xml configuration parameter 'PortletScopeStrutsSession' is set a false but in portlet.xml is set a true. A true parameter indicates that ServletPortletSessionProxy will be used to handle portlet sessions and this class is not serializable, so it won't work under cluster environment. After setting this parameter to false in portlet.xml I can not reproduce this issue. Please, can you try it and confirm it ? Thanks, Lucas With the "PortletScopeStrutsSession" init param set to "false" in both portlet.xml and web.xml I'm also unable to reproduce the problem in 6.2.0.ER2, however it's still present in 6.1.0. This product has been discontinued or is no longer tracked in Red Hat Bugzilla. |