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

[jira] [Created] (TAP5-2049) Tapestry should provide locking semantics for attributes stored in the session, to prevent multiple simultaneous requests (due to Ajax) from conflicting

Howard M. Lewis Ship created TAP5-2049:
------------------------------------------

             Summary: Tapestry should provide locking semantics for attributes stored in the session, to prevent multiple simultaneous requests (due to Ajax) from conflicting
                 Key: TAP5-2049
                 URL: https://issues.apache.org/jira/browse/TAP5-2049
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.4
            Reporter: Howard M. Lewis Ship


Currently, multiple threads may be processing requests, due to Ajax.  If they all access state stored in the HttpSession, the rsult can be invalid.

Tapestry should maintain a lock object inside the session, and automatically acquire a read lock the first time a request thread reads values from the session, and upgrade to a write lock when writing values to the session.

The lock can be released at the end of the request.

A reentrant read/write lock may be insufficient, as values inside the session are mutable; it is possible that the lock should be exclusive.

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