[ https://issues.apache.org/jira/browse/AMBARI-18603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Hurley updated AMBARI-18603: ------------------------------------- Attachment: AMBARI-18603.patch > Remove Unnecessary Locks Inside Of ServiceComponent Business Object > Implementations > ----------------------------------------------------------------------------------- > > Key: AMBARI-18603 > URL: https://issues.apache.org/jira/browse/AMBARI-18603 > 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-18603.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 {{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) -- This message was sent by Atlassian JIRA (v6.3.4#6332)