Details
-
Task
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
2.5.0
-
None
Description
Many of the business object implementations include needless locks which simply add the overhead and contention in larger clusters. Some examples of these are :
- HostImpl
- get/set DisksInfo()
- get/set TotalMemBytes()
- ServiceComponentHostImpl
- get/set MaintenanceState()
- get/set LastOpLastUpdateTime()
These types of methods are found on other business classes as well, like ClusterImpl and ServiceImpl. Additionally, methods like convertToResponse() and debugDump() need not acquire locks since they are used mostly for serialization of data to the web client where the data will then immediately become stale anyway.
The ServiceComponent business object should have the following work performed:
- Remove locking around areas where its no longer required
- Replace collections with thread-safe concurrent versions
- Remove some reliance on state-full business objects (caches)
Attachments
Attachments
Issue Links
- links to