Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
5.4
-
None
Description
Tapestry 5.4 acquires a write lock on the session when reading attributes. This is to prevent race conditions if the attribute is mutable and modified from multiple threads.
If an attribute is immutable, the lock could be downgraded to a read lock.
The patch adds a MutabilityAnalyzer service that uses a contributable chain of command to check whether an object is immutable. The session locking code uses that service to downgrade the write lock if the HTTP handler thread only reads immutable attributes.
Attachments
Attachments
Issue Links
- relates to
-
TAP5-2049 Tapestry should provide locking semantics for attributes stored in the session, to prevent multiple simultaneous requests (due to Ajax) from conflicting
- Closed