[
https://issues.apache.org/jira/browse/AMBARI-18614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Hurley updated AMBARI-18614:
-------------------------------------
Attachment: AMBARI-18614.patch
> Remove Unnecessary Locks Inside Of SCH Business Object Implementations
> ----------------------------------------------------------------------
>
> Key: AMBARI-18614
> URL: https://issues.apache.org/jira/browse/AMBARI-18614
> 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-18614.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 {{ServiceComponentHost}} 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)