You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2013/06/27 01:42:20 UTC

[jira] [Updated] (TAP5-2134) Session locking (introduced in 5.4) should be optional

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

Howard M. Lewis Ship updated TAP5-2134:
---------------------------------------

       Assignee: Howard M. Lewis Ship
         Labels: thread-safety  (was: )
       Priority: Major  (was: Blocker)
    Description: Tapestry 5.4 introduced session locking, whereby access to the HttpSession is serialized when multiple threads are active for the same session (this can occur in some Ajax scenarios). This has been highly controversial, and (at the very least), it should be optional, controlled by a configuration symbol.  (was: Version: 5.4-alpha-9

For example:
In an event handler there are statements as following, the int1 is persisted, 
       try {
            int1 ++;
            Thread.sleep(10000);

        } catch (InterruptedException e) {
            e.printStackTrace();
        }

All the methods with same HTTP session will get blocked until that thread is awaken.

This issue is not existing in 5.3.6.

I'll attach a test page to show it.

Thanks.
)
        Summary: Session locking (introduced in 5.4) should be optional  (was: A blocked method would like to block other methods too, when there is write access to a persisted field.)
    
> Session locking (introduced in 5.4) should be optional
> ------------------------------------------------------
>
>                 Key: TAP5-2134
>                 URL: https://issues.apache.org/jira/browse/TAP5-2134
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.4
>            Reporter: Yunhua Sang
>            Assignee: Howard M. Lewis Ship
>              Labels: thread-safety
>         Attachments: TestPage.java, TestPage.tml
>
>
> Tapestry 5.4 introduced session locking, whereby access to the HttpSession is serialized when multiple threads are active for the same session (this can occur in some Ajax scenarios). This has been highly controversial, and (at the very least), it should be optional, controlled by a configuration symbol.

--
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