[ 
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

Reply via email to