Details
-
Improvement
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
-
1
-
Tiger
-
Tiger Sprint 154
Description
The CMS uses the WhitelistedClassesResourceGuard to control access to resources. This class is a singleton, and currently uses a synchronized lock to check whether it has already been initialized. This effectively serializes all accesses to resources (concurrent requests for resources have to wait for each other because of the lock), which makes the CMS unnecessary slow.
Instead we should use the double checked locking pattern to initialize the class, which avoids the locking overhead in concurrent threads. See https://en.wikipedia.org/wiki/Double-checked_locking for details.
Attachments
Issue Links
- is a result of
-
CMS-10640 WhitelistedClassesResourceGuard is not thread-safe
- Closed