Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA_P01
-
Fix Version/s: 4.0.BETA, EE-3.3.0.GA_P02, 4.0
-
Labels:None
-
Environment:All, ICEpush
-
Assignee Priority:P2
-
Salesforce Case Reference:
Description
When navigating to a new JSF view with a big DOM and the backing bean of the view being navigated to triggers an asynchronous render as part of its postConstruct or as part as one of the getters, the HTTP POST to retrieve the updates for this asynchronous render posts to the old view instead of the new view and this causes a "Server Internal Error" because of a javax.faces.FacesException being thrown.
In testing I did find that I wasn't able to reproduce the issue with lazyPush=true, but this may just be workaround for the test case only as it seems to occur when the push connection is already active.
In testing I did find that I wasn't able to reproduce the issue with lazyPush=true, but this may just be workaround for the test case only as it seems to occur when the push connection is already active.
-
- bigdom.xhtml
- 499 kB
- Ted Goddard
-
Hide
- Case12432Example.war
- 4.82 MB
- Arran Mccullough
-
- META-INF/MANIFEST.MF 0.1 kB
- META-INF/context.xml 0.1 kB
- WEB-INF/classes/.../async/PageBean$1.class 2 kB
- WEB-INF/classes/com/.../async/PageBean.class 2 kB
- WEB-INF/lib/commons-beanutils.jar 226 kB
- WEB-INF/lib/commons-collections.jar 558 kB
- WEB-INF/lib/commons-digester.jar 140 kB
- WEB-INF/lib/commons-logging.jar 52 kB
- WEB-INF/lib/icefaces.jar 630 kB
- WEB-INF/lib/icepush.jar 229 kB
- WEB-INF/lib/javax.faces-2.1.26.jar 2.53 MB
- WEB-INF/web.xml 2 kB
- bigdom.xhtml 499 kB
- index.xhtml 0.5 kB
- smalldom.xhtml 0.7 kB
- welcome.xhtml 0.8 kB
-
- Case12432Example.zip
- 24 kB
- Arran Mccullough
-
Hide
- icefaces.jar
- 630 kB
- Ted Goddard
-
- META-INF/MANIFEST.MF 0.3 kB
- META-INF/core.taglib.xml 13 kB
- META-INF/core.tld 8 kB
- META-INF/extra.faces-config.xml 1 kB
- META-INF/faces-config.xml 10 kB
- META-INF/resource-dependency.xml 2 kB
- META-INF/.../add-group-member.icepush.txt 0.0 kB
- META-INF/resources/auxupload.txt 0.0 kB
- META-INF/.../create-push-id.icepush.txt 0.0 kB
- META-INF/resources/.../bridge-support.js 39 kB
- META-INF/.../bridge-support.uncompressed.js 74 kB
- META-INF/resources/.../coalesced.txt 0.0 kB
- META-INF/resources/ice.core/core.css 0.9 kB
- META-INF/resources/.../head-update-test.js 0.7 kB
- META-INF/resources/listen.icepush.xml 0.6 kB
- META-INF/resources/.../blank.html 2 kB
- META-INF/resources/.../json2007.js 10 kB
- META-INF/resources/.../rsh.js 27 kB
- META-INF/resources/notify.icepush.txt 0.0 kB
- META-INF/.../remove-group-member.icepush.txt 0.0 kB
- META-INF/resources/ice.core/bridge.js 37 kB
- META-INF/.../bridge.uncompressed.js 80 kB
- org/icefaces/.../PortableRenderer.class 0.2 kB
- org/icefaces/.../ProductInfo.class 2 kB
- org/icefaces/.../PushIsolator.class 2 kB
- org/icefaces/.../PushMessage.class 0.8 kB
- org/icefaces/.../PushOptions.class 1 kB
- org/icefaces/.../PushOthers.class 0.9 kB
- org/icefaces/.../PushRenderer$1.class 1.0 kB
- org/icefaces/.../PushRenderer$2.class 1 kB
-
- newbigdom.xhtml
- 499 kB
- Leon Steffens
-
- NewPageBean.java
- 1 kB
- Leon Steffens
-
- PageBean.java
- 1 kB
- Ted Goddard
-
- pushdelay.patch
- 2 kB
- Ted Goddard
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
icefaces.jar with patch applied
Show
Ted Goddard
added a comment - icefaces.jar with patch applied
The sequence of events in the test case are as follows:
- user clicks on commandLink, ajax event begins
- page is rendered on server
- push event occurs
- browser handles push event, attempts to update welcome page since that is the action on the current form
- commandLink click event completes
- push updates are applied resulting either in error or return to welcome page
The patch detects an outstanding ajax event and delays the retrieval of push updates until the ajax event is complete.
After additional testing, this will be considered for a fix in the ICEfaces trunk.
Show
Ted Goddard
added a comment - The sequence of events in the test case are as follows:
user clicks on commandLink, ajax event begins
page is rendered on server
push event occurs
browser handles push event, attempts to update welcome page since that is the action on the current form
commandLink click event completes
push updates are applied resulting either in error or return to welcome page
The patch detects an outstanding ajax event and delays the retrieval of push updates until the ajax event is complete.
After additional testing, this will be considered for a fix in the ICEfaces trunk.
Thank you very much Ted. I have applied the patch and removed our workaround and everything seems to be working great! We will continue with the testing on our side but as far as I can tell the issue is fixed.
Show
Leon Steffens
added a comment - Thank you very much Ted. I have applied the patch and removed our workaround and everything seems to be working great! We will continue with the testing on our side but as far as I can tell the issue is fixed.
Change is checked in to ICEfaces 3 trunk.
Show
Ted Goddard
added a comment - Change is checked in to ICEfaces 3 trunk.
Backport applied. Some surrounding code was changed, so some adjustment was required. Push updates verified working in auction and showcase.
Show
Ted Goddard
added a comment - Backport applied. Some surrounding code was changed, so some adjustment was required. Push updates verified working in auction and showcase.
Attached test case that reproduces the issue. Note: for the war file the icefaces-ace and icefaces-compat jars need to be added back in.
Steps:
When clicking on the "Go to small DOM" link the navigation to the new view completes successfully and the async render is pushed to the new view. When clicking the "Go to big DOM" link the server error will be observed.