Jonathan Hurley created AMBARI-18539: ----------------------------------------
Summary: Remove Unnecessary Locks Inside Of Host Business Object Implementations Key: AMBARI-18539 URL: https://issues.apache.org/jira/browse/AMBARI-18539 Project: Ambari Issue Type: Task Components: ambari-server Affects Versions: 2.5.0 Reporter: Jonathan Hurley Assignee: Jonathan Hurley Priority: Critical Fix For: 2.5.0 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 {{Host}} 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) -- This message was sent by Atlassian JIRA (v6.3.4#6332)