[ https://issues.apache.org/jira/browse/AMBARI-18539?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Hurley updated AMBARI-18539: ------------------------------------- Attachment: AMBARI-18539.patch > 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 > > Attachments: AMBARI-18539.patch > > > 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)