You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Howard Abrams (JIRA)" <de...@myfaces.apache.org> on 2006/01/16 21:13:20 UTC

[jira] Updated: (MYFACES-1027) State saving Race condition

     [ http://issues.apache.org/jira/browse/MYFACES-1027?page=all ]

Howard Abrams updated MYFACES-1027:
-----------------------------------

    Attachment: ViewTag.diff

Attached is a patch that seems to fix the problem.

It changes the view tag handler to make the body always buffered and  moves server-side state saving from doEndTag to doAfterBody. I'd appreciate it if someone more familiar with the view tag handler code could take a look at this patch.

> State saving Race condition
> ---------------------------
>
>          Key: MYFACES-1027
>          URL: http://issues.apache.org/jira/browse/MYFACES-1027
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>     Reporter: Howard Abrams
>  Attachments: ViewTag.diff
>
> I can reproduce this in the nightly, but I assume it happens in 1.1.1 as well.
> The output of a page reaches the browser before the state for that page is stored. The result is that if a browser quickly requests that pages state, it is possible the state isn't stored yet and access to it will fail. I'm not certain, but I belive the proper thing to do would be to block on access to a given view if another thread is still accessing it. I do not have this problem with the RI, but since this is a race condition it is possible I just never hit it.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira