ambari-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hurley (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMBARI-18495) Remove Unnecessary Locks Inside Of Cluster Business Object Implementations
Date Thu, 29 Sep 2016 16:58:20 GMT
Jonathan Hurley created AMBARI-18495:
----------------------------------------

             Summary: Remove Unnecessary Locks Inside Of Cluster Business Object Implementations
                 Key: AMBARI-18495
                 URL: https://issues.apache.org/jira/browse/AMBARI-18495
             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 {{Clusters}} and {{Cluster}} business objects 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)

Mime
View raw message